Str_replace [Résolu]

Signaler
Messages postés
2
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
5 avril 2010
-
Messages postés
2
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
5 avril 2010
-
bonjours
j'ai un petit problème en php avec la fonction str_replace

dans l'exemple si dessous
<?php


$textl="<?#%ceci est un test>";


$textl=htmlentities($textl);
$textl =trim($textl);
$textl = str_replace("?", ".", $textl);
$textl = str_replace("%", ".", $textl);
$textl = str_replace("#", ".", $textl);
$textl = str_replace("<", ".", $textl);

echo $textl."
";

?>
?,%,# sont bien remplacé
mais pas "<"
pouvez vous m'aider,merci

2 réponses

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

tycho@uraniborg-> php -r 'var_dump(htmlentities("<?#%ceci est un test>"));'
string(27) "<?#%ceci est un test>"

Comme tu le vois, htmlentities() remplace les chevrons par leur correspondance en entités html. Ainsi, str_replace() ne remplace pas ces chevrons vu qu'ils ne sont pas présent dans la chaîne, mais comme "<" est affiché en tant que "<" et ">" en tant que ">", on a l'illusion que la chaîne contient des chevrons.
Messages postés
2
Date d'inscription
samedi 3 novembre 2012
Statut
Membre
Dernière intervention
5 avril 2010

merci ,je n'avais pas pensée à cela ,c'est logique,merci