Manipulation de chaine de caractere
accueil >
Cours >
PHP >
Manipulation de chaine de caractere
Cours / tutoriel écrit le 17-06-2010 par sky
Exemple de manipulation de chaine de caractère
La manipulation de chaine de caractères ... Ca c'est un chapittre infini je crois. Je vais essayer sur cette page de mettre juste quelques exemple pour que vous puissiez vous en inspirer.
printf (PHP 3, PHP 4 )
Affiche une chaîne de caractères formattée
void printf ( string format [, mixed args])
printf() affiche les arguments args formaté sous forme de chaîne de caractères grâce à args. Les options de formatage sont documentés avec la fonction sprintf().
Le code :
<?php
echo 'Date : ';
printf("%02d/%02d/%04d", 20, 5, 2002);
echo '<br />Pi avec 7 decimales : ';
printf("%.6f", M_PI);
?>
Afichera :
Date : 20/05/2002
Pi avec 6 decimales : 3.141592
substring (PHP 3, PHP 4 )
Retourne un segment de chaîne
string substr ( string string, int start [, int length])
substr() retourne le segment de string définit par start et length. Si start est positif, la chaîne retournée commencera au caractère numéro start, dans la chaîne string. Le premier caractère est numéroté zéro.
Le code :
<?php
echo substr("abcdefghij", 2);
echo "<br />";
echo substr("abcdefghij", 0, 3);
echo "<br />";
echo substr("abcdefghij", 1, 4);
echo "<br />";
echo substr("abcdefghij", 5, 20);
echo "<br />";
echo substr("abcdefghij", -3, 2);
echo "<br />";
echo substr("abcdefghij", 2, -1);
?>
Affichera :
cdefghij
abc
bcde
fghij
hi
cdefghi
substr_replace (PHP 3, PHP 4, PHP 5)
string substr_replace ( string string , string replacement , int start , int length )
substr_replace remplace un segment de la chaîne string par la chaîne replacement . Le segment est délimité par start et éventuellement par length . Le résultat est retourné.
Le code :
<?php
echo substr_replace("abCDEF","AB",0,2);
echo "<br />";
echo substr_replace("100000 Euros",",",-9, 0);
?>
Affichera :
ABCDEF
100,000 Euros
strtr
Remplace des chaînes dans une chaîne
string strtr ( string str , string from , string to ) string strtr ( string str , array replace_pairs )
strtr retourne la chaîne str , après avoir remplacé chaque caractère du paramètre from par son équivalent dans le paramètre to . Si from et to sont de tailles différentes, les caractères en trop dans l'un ou l'autre seront ignorés.
Le code :
<?php
$phrase = "Les accents sur à, é, è, ù, ê, ô vont être supprimés";
echo $phrase."<br />";
$remplacements = array('à' => 'a',
'é' => 'e',
'è' => 'e',
'ù' => 'u',
'ê' => 'e',
'ô' => 'o',
'vont être' => 'ont étés' );
$phrase = strtr($phrase, $remplacements);
echo $phrase;
?>
Affichera : [quote]Les accents sur à, é, è, ù, ê, ô vont être supprimés
Les accents sur a, e, e, u, e, o ont étés supprimes[/code]
Récapitulatif :
Pour voir l'ancienne page : chaine php
addslashes()
Ajoute des anti-slashes devant les caractères spéciaux : $res = addslashes("L'a");
Résultat : L'a
stripslashes()
Retire les anti-slashes devant les caractères spéciaux. : $res = stripslashes("L'a");
Résultat : L'a
dechex()
Retourne la valeur Hexadécimale d'un nombre (ici 2548). $res = dechex("2548");
Résultat : 9f4
ceil()
Retourne le nombre entier supérieur ici (12,1). $res = ceil("12.1"); *
Résultat : 13
chunk_split()
Permet de scinder une chaîne en plusieurs morceaux. $res = chunk_split("DGDFEF","2","-");
Résultat : DG-DF-EF-
htmlentities()
Remplace les caractères par leur équivalent HTML (si ils existent). $res = htmlentities("&");
Résultat : &
strstr()
Recherche le premier caractère 'p' dans la chaîne et affiche le reste de la chaîne y compris le 'p'. $res = strstr ("
[email protected]", "p");
Résultat : phpdebutant.com
strlen()
Retourne la longueur de la chaîne $res = strlen("lachainedecaracteres");
Résultat : 20
strtolower()
Passe tous les caractères en minuscules. $res = strtolower("LA CHAINE dE caRActERes");
Résultat : la chaine de caracteres
strtoupper()
Passe tous les caractères en MAJUSCULES. $res = strtoupper("LA CHAINE dE caRActERes");
Résultat : LA CHAINE DE CARACTERES
str_replace()
Remplace un caractère par un autre dans une chaîne. Tiens compte de la casse. $res = str_replace("a","o","Lalala");
Résultat : Lololo
trim()
Efface les espaces blancs (n, r, etc) au début et à la fin d'une chaîne (pas au milieu). $res = trim(" Salut le monde ");
Résultat : Salut le monde
ucfirst()
Met la première lettre de chaque chaîne en Majuscule. $res = ucfirst("salut le monde. ca va ?");
Résultat : Salut le monde. ca va ?
ucwords()
Met la première lettre de chaque mot d'une chaîne en Majuscule. $res = ucwords("salut le monde");
Résultat : Salut Le Monde
strpos()
Recherche la position du premier caractère trouvé. Retourne le nombre de caractères placés avant lui (ici 4). $res = strpos("abcdef","e");
Résultat : 4
ereg()
Recherche si une chaîne de caractère est contenue dans une autre (ex. recherche si "ABCDE" contient "BCD"). if(ereg("BCD","ABCDEF"))
{echo "oui";} else {echo "non";}
Résultat : oui
* La virgule sous PHP est représentée par un point "." , ainsi 12,1 s'écrit : 12.1 !
Commentaires
nicky le 25-09-2011
vraiment génial ce tuto ! merci :)
roro le 14-04-2011
c'est très cooooooooooooool
sky le 30-08-2010
Faut que je mette cette page à jours pour PHP 5.3. Depuis PHP 5.3 ereg et eregi ne doivent plus être utilisés. On peux utiliser à la place preg_match ou encore preg_match_all.
jackomony le 29-08-2010
merci pour trim() et ereg(), g ne savais pas qu'ils existaient en php!!!