Str_replace

Résolu
cb3d10 Messages postés 2 Date d'inscription samedi 3 novembre 2012 Statut Membre Dernière intervention 5 avril 2010 - 5 avril 2010 à 12:53
cb3d10 Messages postés 2 Date d'inscription samedi 3 novembre 2012 Statut Membre Dernière intervention 5 avril 2010 - 5 avril 2010 à 18:58
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

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
5 avril 2010 à 16:30
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.
3
cb3d10 Messages postés 2 Date d'inscription samedi 3 novembre 2012 Statut Membre Dernière intervention 5 avril 2010
5 avril 2010 à 18:58
merci ,je n'avais pas pensée à cela ,c'est logique,merci
0
Rejoignez-nous