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 -
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:
la il s'agit d'une liste non ordonée. dans ma fonction de transformation je doit pouvoir obtenir
pour ça j'utilise la fonction preg_replace de php de cette façon
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.
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:
- Regex vs bbcode
- Udp vs tcp - Guide
- Samsung a15 vs a16 - Accueil - Téléphones
- X86 vs x64 ✓ - Forum Windows 7
- 1 million vs 1 milliard - Accueil - Technologies
- Max vs netflix - Accueil - Streaming
1 réponse
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.
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.