Preg_match -> objectif bbcode !

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

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: 1319
Inscription: Mer Mai 14, 2003 11:05

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


thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

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: 1319
Inscription: Mer Mai 14, 2003 11:05

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 accro
WRInaute accro
 
Messages: 1469
Inscription: Lun Mai 30, 2005 21:55

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

et un trim() de $text ?


medium69
WRInaute accro
WRInaute accro
 
Messages: 2182
Inscription: Sam Mai 07, 2005 9:36

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.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

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