Preg_match -> objectif bbcode !

WRInaute accro
Bonjour,

J'applique la fonction suivante:
Code:
$text = preg_replace('!\[p\](.+?)\[/p\]!', '<p>$1</p>', $text);

Mon texte de base est par exemple:
[p]
test
[/p]

Cela ne fonctionne pas ! Il me faut:
[p]test[/p] (donc tout sur une ligne)

Et cela m'est très problèmatique, car je ne saisie pas sur une ligne tout un texte ! (je n'applique non plus pas la fonction nl2br())

Y a t-il une possibilité pour tout mettre sur une ligne automatiquement ?
(ou simplement une autre solution)

Je pense que déjà plusieurs d'entre vous on dû être confronté à se problème et j'espère que vous voudrez bien m'aider en me transmettant un peu de ce savoir ! Merci.
 
WRInaute accro
Perso je ne l'ai pas encore utilisé...
...This parser should only produce xhtml 1.0 compliant code. All tags are validated and so are all their attributes. It should be easy to extend this parser with your own tags.
 
WRInaute passionné
thierry8 a dit:
Bonjour,

J'applique la fonction suivante:
Code:
$text = preg_replace('!\[p\](.+?)\[/p\]!', '<p>$1</p>', $text);

Mon texte de base est par exemple:
[p]
test
[/p]

Cela ne fonctionne pas ! Il me faut:
[p]test[/p] (donc tout sur une ligne)

Et cela m'est très problèmatique, car je ne saisie pas sur une ligne tout un texte ! (je n'applique non plus pas la fonction nl2br())

Y a t-il une possibilité pour tout mettre sur une ligne automatiquement ?
(ou simplement une autre solution)

Je pense que déjà plusieurs d'entre vous on dû être confronté à se problème et j'espère que vous voudrez bien m'aider en me transmettant un peu de ce savoir ! Merci.

Il te manque une option dans ton code :

Code:
$chaine = preg_replace('!\[p\] (.+) \[/p\]!s', '<p>$1</p>', $chaine);

le "s" prend en compte les sauts de ligne.
 
Discussions similaires
Haut