STRTR |
Chaînes de caractères à remplacer |
---|---|
PHP 4+ |
Syntaxe
function strtr($str,$from,$to); |
function strtr($str,$replace_pairs); |
Paramètres
Nom | Description |
---|---|
$str | Ce paramètre permet d'indiquer une chaîne de caractères à traiter |
$from | Ce paramètre permet d'indiquer des caractères a rechercher dans la chaîne de caractères. |
$to | Ce paramètre permet d'indiquer des caractères a remplacer dans la chaîne de caractères. |
$replace_pairs | Ce paramètre permet d'indiquer une tableau de clef et de valeur dans lequel chaque clef trouvé sera remplacer par sa valeur dans la chaîne de caractères. Exemple: «echo strtr("Hello world", array("hello" => "Bonjour", "world" => "le monde"));» |
Retour
Valeur | Description |
---|---|
FALSE | Cette valeur permet d'indiquer qu'une des valeurs de clefs est vides et qu'il n'est donc pas possible d'effectuer le traitement. |
NULL | Cette valeur permet d'indiquer que le paramètre str$ n'est pas d'un type de données scalaire valide. |
chaîne de caractères | Ces valeurs permettent d'indiquer la chaîne de caractères str$ avec les remplacements spécifiés. |
Description
Cette fonction permet d'effectuer des remplacements de certaines caractères par d'autres caractères dans une chaîne de caractères. Si la fonction strtr est appelé avec 3 paramètres, alors la fonction retournera la chaîne de caractères indiquer par le paramètre $str après avoir remplacé chacun des caractères mentionné dans la chaîne de caractères du paramètre $from par son équivalent du paramètre $to (étant situé à la même position dans la chaîne de caractères que dans la chaîne de caractères du paramètre $from). Par conséquent l'occurrence $from[$n] sera remplacé par $to[$n]. Si la fonction strtr est appelé avec 2 paramètres, alors la fonction utilisera le deuxième paramètre, soit un tableau (array) pour effectuer des remplacements en utilisant la clef comme chaîne de caractères à rechercher et la valeur comme résultat de remplacement.
Remarques
- Si les paramètre $from et $to n'ont pas les mêmes longueurs, alors les caractères supplémentaires de l'autre chaîne de caractères seront ignorés.
- La taille des clefs et des valeurs peuvent avoir des tailles différents dans la syntaxe avec 2 paramètres, puisque dans cette syntaxe il traite les remplacements comme des chaînes de caractères et non pas comme des caractères uniques.
- Dans la plupart des situations, il est plus facile de maintenir la syntaxe utilisant un tableau comme 2ième paramètre que la syntaxe avec 3 paramètres.
- Si le paramètre $str n'est pas d'un type de données scalaire, alors il sera pas convertie en chaîne de caractères et retournera la valeur NULL.
- Si une clef du paramètre $replace_pairs, alors la fonction strtr retournera la valeur FALSE.
Exemples
Voici un exemple d'une utilisation typique de cette fonction :
on obtiendra le résultat suivant :
Bonjour le mondestrtr("64.6",".",",") = 64,6
strtr("M. Maltais","M.","Monsieur") = Mo Maltais
Voici un exemple permet de remplacer les caractères avec des accents par leur équivalence HTML :
- <?php
- $messageAccent = "Message avec des accents : áâäàã,ç,éêëè,íîïì,œ,óôöò,ÁÂÄÀ,Ç,ÉÊËÈ,ÍÎÌÏ,Œ,ÓÔÖÒ";
- echo strtr($messageAccent, array(
- "á" => "á", "â" => "â", "ä" => "ä", "à" => "à", "ã" => "ã",
- "ç" => "ç",
- "é" => "é", "ê" => "ê", "ë" => "ë", "è" => "è",
- "í" => "í", "î" => "î", "ï" => "ï", "ì" => "ì",
- "œ" => "œ",
- "ó" => "ó", "ô" => "ô", "ö" => "ö", "ò" => "ò",
- "Á" => "À", "Â" => "Â", "Ä" => "Ä", "À" => "À",
- "Ç" => "Ç",
- "É" => "É", "Ê" => "Ê", "Ë" => "Ë", "È" => "È",
- "Í" => "Í", "Î" => "Î", "Ï" => "Ï", "Ì" => "Ì",
- "Œ" => "Œ",
- "Ó" => "Ó", "Ô" => "Ô", "Ö" => "Ö", "Ò" => "Ò",
- )
- );
- ?>
on obtiendra le résultat suivant :
Message avec des accents : áâäàã,ç,éêëè,íîïì,œ,óôöò,ÀÂÄÀ,Ç,ÉÊËÈ,ÍÎÌÏ,Œ,ÓÔÖÒVoici un exemple permet de remplacer les caractères avec des accents par leur lettre équivalente :
- <?php
- $messageAccent = "Message avec des accents : áâäàã,ç,éêëè,íîïì,óôöò,ÁÂÄÀ,Ç,ÉÊËÈ,ÍÎÌÏ,ÓÔÖÒ";
- echo strtr($messageAccent,
- "\xe1\xc1\xe0\xc0\xe2\xc2\xe4\xc4\xe3\xc3\xe5\xc5\xaa\xe7".
- "\xc7\xe9".
- "\xc9\xe8\xc8\xea\xca\xeb\xcb\xed".
- "\xcd\xec\xcc\xee\xce\xef\xcf\xf1".
- "\xd1\xf3".
- "\xd3\xf2\xd2\xf4\xd4\xf6\xd6\xf5\xd5\x8\xd8\xba\xf0".
- "\xfa\xda\xf9\xd9\xfb\xdb\xfc\xdc".
- "\xfd\xdd\xff".
- "\xe6\xc6\xdf",
- "aAaAaAaAaAaAa".
- "cC".
- "eEeEeEeE".
- "iIiIiIiI".
- "nN".
- "oOoOoOoOoOoOoo".
- "uUuUuUuU".
- "yYy".
- "aAs"
- );
- ?>
on obtiendra le résultat suivant :
Message avec des accents : aaaaa,c,eeee,iiii,oooo,AAAA,C,EEEE,IIII,OOOO