Page 1 sur 1

Supprimer les commentaires

Posté : 04 août 2005, 12:06
par h2o
J'ai des fichiers textes que j'édite dans un champ textarea d'un formulaire.
Ce texte contient des commentaires entre les balises prévus à cette effet.

Exemple :
<!-- Texte modifie le 2005-08-04 - 11:55 par Jean-Marie Hoornaert -->

Je voudrais lors de l'édition, supprimer le commentaire et ses balises. Car ensuite, le texte est sauvegardé utilisant htmlentities, et les commentaires deviennent donc visibles sur la page html.

Je sais que les expressions régulières peuvent résoudre ce problème, mais je n'y comprend rien.

Si quelqu'un peut me donner, et la solution à problème, et un lien vers un "tutoriel" concernant les expressions régulières. Merci.

Posté : 04 août 2005, 12:29
par naholyr
http://www.phpfrance.com/tutoriaux/inde ... pcre-ripat

Voici ce qu'on veut supprimer : tout ce qui commence par <!-- et finit par -->
Le masque sera tout simplement /<!--.*?-->/s (le s final indique qu'on peut sauter des lignes dans les commentaires)

Posté : 04 août 2005, 13:03
par h2o
Merci pour le lien.

J'ai cependant du louper quelque chose.
$content = "ici le texte. <!-- ici le commentaire -->";
$content = eregi_replace("/<!--.*?-->/s","", $content);
Retourne une chaîne vide.
Où est l'erreur ?

Posté : 04 août 2005, 13:19
par naholyr
J'avoue ne pas comprendre pourquoi il te retourne une chaine vide, je me serais plutot attendu à ce qu'il te retourne la chaine d'origine.
C'est un masque PCRE, donc à utiliser avec preg_replace...

Posté : 04 août 2005, 13:29
par h2o
Bon, j'ai encore beaucoup à apprendre.

Merci pour le coup de pouce.