Page 1 sur 1
preg_replace
Posté : 25 juil. 2019, 11:56
par CuriousStudent
Bonjour,
j'essaye de de réaliser un petit script qui me permet de colorier une balise html cependant je coince...
$texte = preg_replace('#</[a-z]+>#isU','<p><font color="blue">$0</font></p>', $texte);
ce code ne donne rien, et je ne comprend vraiment pas pourquoi .. Merci d'avance pour votre aide précieuse
Re: preg_replace
Posté : 25 juil. 2019, 12:02
par Saian
Bonjour, ce code est quand même sensé faire un remplacement sur les balises fermantes genre </a>, </p>, </i>, </span>, etc
Encore faut-il que le html dans $texte contienne du html brut et non du html transformé comme avec les fonctions htmlspecialchars ou htmlentities.
Re: preg_replace
Posté : 25 juil. 2019, 12:16
par CuriousStudent
Re, merci pour ta réponse !
Justement ce texte est bien transformé avec htmlspécialchar
sinon il apparait même pas en fait ..
Re: preg_replace
Posté : 25 juil. 2019, 12:29
par Saian
Et oui tout à fait.
Avec le html modifié il faut que tu remplaces dans tes regex < par < et > par >
Les " sont également remplacés par "e;
Après tu pourrais aussi t'amuser lors des preg_replace, en travaillant sur un html non modifié, à baliser avec des balises personnelles genre {blue}$0{/blue} et remplacer ces balises personnelles par des vraies balises html une fois le traitement terminé (sans oublier au préalable de passer un htmlentities une fois toutes tes balises personnelles posées).
Re: preg_replace
Posté : 25 juil. 2019, 13:02
par CuriousStudent
Franchement un grand merci.
Vous êtes vraiment géniaux sur ce forum !