[PHP] problème avec preg_replace

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Narno
Arias
Messages : 3
Inscription : 20 juin 2004, 21:00

[PHP] problème avec preg_replace

Message par Narno »

Salut à tous !

Voilà, j'ai créé une fonction PHP qui devrait empècher l'interprétation du code HTML lorsque celui-ci est placé entre les balises <code>XXX</code>

Pour celà j'ai utilisé les expressions régulières et plus précisement, preg_replace :

Code : Tout sélectionner

/* Fonction de nettoyage du texte */
function format_content($text) {
	$code = preg_replace("/(.*)(<code>)(.*)(<\/code>)(.*)/is","$3",$text);
	$code = htmlentities($code);
	$text = preg_replace("/(.*)(<code>)(.*)(<\/code>)(.*)/is","$1$2".$code."$4$5",$text);
	return $text;
}
Malheuresement, si j'utilise plusieurs fois les balises <code>XXX</code> dans le même texte, seule la dernière est prise en compte par mon REGEX.

J'ai raté un truc ? Merci d'avance.
Narno [ www.narno.com ]
--
Nouveau sur ce forum mais vieil habitué de Mozilla & Co ! ;)
Narno
Arias
Messages : 3
Inscription : 20 juin 2004, 21:00

Message par Narno »

Bon, j'ai essayé de nettoyer et d'optimiser le code, mais rien n'y fait...

Code : Tout sélectionner

/* Fonction de nettoyage du texte */
function format_content($text) {
	return preg_replace_callback("/(.*)(<code>)(.*)(<\/code>)(.*)/is",create_function('$masque','return $masque[1].$masque[2].htmlentities($masque[3]).$masque[4].$masque[5];'),$text);
}
Seul la dernière paire de balise est traitée, je ne vois pas trop le problème... p-e après une bonne nuit de sommeil.

Merci.
Narno [ www.narno.com ]
--
Nouveau sur ce forum mais vieil habitué de Mozilla & Co ! ;)
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité