[RESOLU] Suppression de balise <br/> intempestives

Eléphanteau du PHP | 11 Messages

30 juil. 2013, 18:02

Bonjour,

Je cherche une fonction qui permette de supprimer des balises <br/> intempestives dans une chaine.

Par exemple si il y a "<br/><br/><br/>" je souhaite le transformer en un seul "<br/>", le nombre de "<br/>" d'un groupe peut varier dans la chaine de départ et le groupe de "<br/>" peut être présent plusieurs fois dans la chaine.

Voici un exemple de texte que je voudrais traiter :
Un biscuit salé pour l'apéro? Un sablé au Parmesan!!!<br /><br /><br />Pour 8 personnes
Préparation : 5 min  -  Cuisson : 20 min<br /><br />Ingrédients :
<br />
-100g de parmesan fraichement râpé
-100g de farine
-100g de beurre à température ambiant
Je souhaite le transformer en :
Un biscuit salé pour l'apéro? Un sablé au Parmesan!!!<br />Pour 8 personnes
Préparation : 5 min  -  Cuisson : 20 min<br />Ingrédients :
<br />
-100g de parmesan fraichement râpé
-100g de farine
-100g de beurre à température ambiant
Il me semble que la fonction preg_replace peut faire ceci mais j'ai beaucoup de mal à comprendre le fonctionnement des masques.

J'ai trouvé cette ligne sur un site mais elle ne fonctionne pas :

$chain=preg_replace('`(<br\s?/>){2,}`','<br/><br/> ',$chain);

D'avance merci.

Eléphant du PHP | 96 Messages

31 juil. 2013, 07:23

Il faudrait tester un
$chaine=preg_replace('/<br[br\s<\\>]*/>','<br />', $chaine);
Pour tester des expressions régulières http://www.annuaire-info.com/outil-refe ... reguliere/
Le mkframework, un framework simple et sécurisé: http://mkdevs.com

Eléphanteau du PHP | 11 Messages

31 juil. 2013, 16:16

Merci pour le lien utile, finalement ligne que j'avais trouvée fonctionne.