Preg_replace et les retour à la ligne? [Résolu]

Shibo_Sources 19 Messages postés dimanche 2 janvier 2005Date d'inscription 3 août 2008 Dernière intervention - 30 août 2006 à 13:22 - Dernière réponse : Shibo_Sources 19 Messages postés dimanche 2 janvier 2005Date d'inscription 3 août 2008 Dernière intervention
- 31 août 2006 à 17:00
Bonjour tout le monde,
J'ai codé une petite fonction de substitution du bbcode par du html avec preg_replace mais quand il y a un retour à la ligne preg replace ne remplace pas les balises.

Par exemple, avec [ quote ] si il y a un retour à la ligne dans le text entre les deux balises les balises ne sont pas changée. J'ai testé mon script sous windows (easyphp) et me disant que sa venais de là j'ai testé sur mon serv perso mais là non plus sa ne marchais pas.

D'ou viens le pb? De la configuration des servers ou du code?

Voici mon code pour les quotes:
$texte = preg_replace("/\[quote\](.+?)\[\/quote\]/"," ... code html de mise en forme .... $1 ....",$texte");


Quelqu'un à une idée ?
Preg_replace semble la meilleur solution pour le bbcode au vue du nombre de bbcode posté utilisant le preg_replace. Y a-t-il une autre function plus appropriée?

Merci de votre aide!
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
cs_eXon 167 Messages postés lundi 17 janvier 2005Date d'inscription 8 avril 2007 Dernière intervention - 30 août 2006 à 15:00
3
Merci
Salut,

Pour rêgler ton problème le plus simplement possible lorsque tu traite ton bbcode tu remplaces les \n par le br avant.

----------------
eXon

Merci cs_eXon 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 129 internautes ce mois-ci

Commenter la réponse de cs_eXon
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 août 2006 à 16:15
0
Merci
Hello,

preg_replace("/\[quote\](.+?)\[\/quote\]/m"," ...
Commenter la réponse de malalam
Shibo_Sources 19 Messages postés dimanche 2 janvier 2005Date d'inscription 3 août 2008 Dernière intervention - 31 août 2006 à 17:00
0
Merci
En fait j'avais déjà essayé nl2br avant le bbcode mais sa ne marchais pas alors j'ai mis ceci:

function nl2brStrict($text, $replacement = '
')
{
return preg_replace("((\r\n)+)", trim($replacement), $text);
}

Depuis sa marche.
Merci de votre aide, c'était simple mais j'ai galéré :(
Commenter la réponse de Shibo_Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.