Farfadh
Messages postés68Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 7 juillet 20084 3 juil. 2008 à 20:27
Pour éviter d'avoir une concaténation et éventuellement une variable, il aurait mieux vallu utiliser les séquences d'échappement :
$content = str_replace('<?', "<?php echo '<?' \x3f>", $content);
$content = str_replace("\x3f>", "<?php echo '\x3f>' \x3f>", $content);
Mais effectivement le problème ne vient pas de là, je viens de tester et je confirme que PHP ne tient pas compte des balises fermantes incluses dans des chaînes.
Sinon l'objectif me parait clair, il s'agit d'un moyen d'échapper les balises du PHP pour que ce dernier n'aille pas les interpréter, sûrement à l'usage de balises telles que <?xml ... ?>. Après il faut connaitre l'utilisation de cette méthode pour savoir si c'est maladroit ou non. Si c'était pour afficher du PHP au lieu de l'exécuter, il aurait mieux vallu un htmlentities.
Sans précisions supplémentaires, on ne peut pas savoir, parce que son code marche très bien.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 3 juil. 2008 à 16:09
Salut,
Le deuxième plante parce que PHP trouve une balise de fermeture de script... Rien d'étonnant...
$close = '?' . '>';
$content = str_replace($close,'<?php echo "' . $close . '"; ' . $close,$content);
<hr size="2" width="100%" />Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Vous n’avez pas trouvé la réponse que vous recherchez ?
64nemesis
Messages postés15Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention 7 juillet 2008 7 juil. 2008 à 09:06
A priori 5.2.0.8 Chez OVH ils sont devenus trés pointilleux sur la config tout du moins sur mon plan.
En apparté il est difficile de dire à quelqu'un que ce qu'il fait est crade, enfin tout du moins de cette manière dans un contexte précis je traduis via un traducteur automatique des flux rss et j'ai en retour des balises a échapper tel que l'a deviner Farfadh.
Ce qui est dommage pour des novices comme moi, c'est que ceux qui se sentent plus à l'aise pense de suite que ce que font les novices est nul, non ce n'est pas nul, peut être pas assez poussé, peut-être pas optimisé, etc mais pas nul.