Preg_match -> objectif bbcode !

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Preg_match -> objectif bbcode !

Message le Jeu Déc 15, 2005 17:22

Bonjour,

J'applique la fonction suivante:
Code: Tout sélectionner
$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.


spout
WRInaute accro
WRInaute accro
 
Messages: 4109
Inscription: 14 Mai 2003

Message le Jeu Déc 15, 2005 17:31


thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Jeu Déc 15, 2005 17:37

Cela permet t-il de choisir par quoi les balises bbcode sont remplacées ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4109
Inscription: 14 Mai 2003

Message le Jeu Déc 15, 2005 18:44

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.


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1602
Inscription: 30 Mai 2005

Message le Jeu Déc 15, 2005 19:01

et un trim() de $text ?


medium69
WRInaute passionné
WRInaute passionné
 
Messages: 2485
Inscription: 7 Mai 2005

Re: Preg_match -> objectif bbcode !

Message le Jeu Déc 15, 2005 19:35

thierry8 a écrit:Bonjour,

J'applique la fonction suivante:
Code: Tout sélectionner
$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: Tout sélectionner
$chaine = preg_replace('!\[p\] (.+) \[/p\]!s', '<p>$1</p>', $chaine);


le "s" prend en compte les sauts de ligne.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités