Regex vs bbcode

alphon5o Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai mis en place des bbcode pour un blog que je suis entrain de developper. j'ai donc ecrit une fonction php qui transforme les bbcodes en leurs equivalents html. mon souci est au niveau des expressions reguliere. pour certain bbcode, c'est relativement simple par contre pour d'autre comme les listes ordonnée ou non je galere enormement pour matcher l'expression reguliere.

par exemple sur ce cas precis j'ai un bbcode comme celui-ci:
[liste]   
[*] un item 1   
[*] item 2   
[*] item 3   
/liste   

la il s'agit d'une liste non ordonée. dans ma fonction de transformation je doit pouvoir obtenir
<ul>   
<li> un item 1 </li>   
<li> item 2</li>   
<li> item 3</li>   
</ul>   

pour ça j'utilise la fonction preg_replace de php de cette façon
$_aMatcher = ""; // ici je dois mettre le regex qui me permet de reconaitre ma liste   
$_remplacerPar = "<ul><li> un item 1 </li><li> item 2</li><li> item 3</li></ul>";   
// ici la correspondance des mots trouvé   
$content = preg_replace($_aMatcher, $_remplacerPar, $content);   


j'en ai d'autre mais pour le moment j'essaye avec celui la!
merci d'avance a tous ce qui prendrons la peine de me filer un coup de main.
A voir également:

1 réponse

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

Tu peux récupérer le contenu entre [liste] et [./liste] (j'ai ajouté un point volontairement).

Une fois que tu as ce contenu, tu retires les [*] en début et fin de chaine avec rtrim() et ltrim().
Ensuite, tu sépares tout avec explode()
Et tu réassembles avec un boucle foreach en HTML.

Par contre, pourquoi réinventer la roue ?
Il existe des CMS comme WordPress, Dotclear, PluXML, Drupal, etc entièrement personnalisables (et fonctionnales, sans failles (ou peu, mais vite corrigées)).

De plus, pourquoi ne pas jeter un coup d'oeil à la syntaxe Wiki ?
C'est plus pratique que des balises pour écrire du contenu.

Aussi, il existe déjà plein de parseurs gratuits.
0