Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/03/2006, 14h55   #1
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 1
Points : 1
Par défaut Remplacement de balise <br /><br /> gen

Bonjour,

J'ai ecrit une regex pour remplacer les chaines suivante <br /><br /></p> par </p>. Le seul souci c'est que cette regex me supprime le dernier caractere de la chaine courante si ce dernier caractere est une balise du genre </i>.

Voici par exemple le bout de chaine qui va generer une erreur :

Code :
1
2
 
$Text = "<p>Vestibulum arcu.<br /><br /></p><h4>Vestibulum tincidunt</h4><p>Nisl ut diam tincidunt ornare. Fusce lacus ipsum, scelerisque et, euismod vel, egestas ut, <i>mauris</i></p>";
voici la regexp :
Code :
1
2
 
$Text = preg_replace('#[<br\ />]{1,}</p>#si','</p>',$Text);
voici le résultat une fois la regexp appliqué :

Code :
1
2
 
<p>Vestibulum arcu.</p><h4>Vestibulum tincidunt</h4><p>Nisl ut diam tincidunt ornare. Fusce lacus ipsum, scelerisque et, euismod vel, egestas ut, <i>mauris</i</p>
On voit bien que le double <br /><br /> est correctement remplacé, par contre je comprends pas la disparition du > du dernier </i>.

Est-ce que quelqu'un peu m'eclairer, car je n'arrive pas a comprendre le pourquoi de cette suppression sur le >. Notez que si il n'y a pas de balise autre que le </p> en fin de chaine tout se passe correctement... bizarre.

Merci a tous !
raddical est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 16h26   #2
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Tests comme cela :

Citation:
<?php
$Text 
preg_replace '#(<br \/>){1,}</p>#si' '</p>' $Text ) ;
?>

Phpsyntaxcolor powered by decabodi.com
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 20h48   #3
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 1
Points : 1
Merci,
mais non ca ne resoud pas le probleme, le > du </i> disparait toujours...

raddical est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 20h52   #4
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Ben pas chez moi... Tu fais bien <br \/> et non <br\/ > ?
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 21h40   #5
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 1
Points : 1
Par défaut [Résolu] Remplacement de balise <br /><br /> gen

Mille excuses, j'avais un mauvais enregistrement dans ma base qui me regenerer l'erreur. Effectivement tout marche correctement, merci !

Tu peux m'expliquer par contre pourquoi il faut echaper le / et pas l'espace ? Et pourquoi prendre le groupe sous la forme () plutot que l'ensemble [] ?
Ca devrait fonctionner aussi avec [] non ?

Merci en tout cas !
raddical est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 21h42   #6
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
franchement ? J'en ai aucune idée, j'ai corrigé à l'intuition...
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h56.


 
 
 
 
Partenaires

Hébergement Web