Ik ben een primitieve BBcode-parsefunctie aan het maken met regular expressions in PHP (de standaard POSIX ereg en ereg_replace). Voor de bold-tag ziet dat er bijvoorbeeld als volgt uit:
Dit gaat helaas niet goed als er meerdere tags genest zijn, dus eigenlijk is het de bedoeling dat er tussen [ b] en [/ b] geen nieuwe occurrence van de [ b]-tag zijn. Ik heb zelf al zitten prutsen, maar volgens mij is dit niet helemaal valid
('t werkt niet)
Hoe krijg ik dit voor elkaar?
Ps. dit is geen scriptrequest. Ik zou het maar al te graag zelf oplossen, maar de diverse bronnen over regular expressions helpen mij niet veel verder.
PHP:
1
2
| $content = ereg_replace("\\[b\](.+)\\[/b\]", '<b>\1</b>', $content); |
Dit gaat helaas niet goed als er meerdere tags genest zijn, dus eigenlijk is het de bedoeling dat er tussen [ b] en [/ b] geen nieuwe occurrence van de [ b]-tag zijn. Ik heb zelf al zitten prutsen, maar volgens mij is dit niet helemaal valid
PHP:
1
2
| $content = ereg_replace("\\[b\]([.^\\[b\]]+)\\[/b\]", '<b>\1</b>', $content); |
Hoe krijg ik dit voor elkaar?
Ps. dit is geen scriptrequest. Ik zou het maar al te graag zelf oplossen, maar de diverse bronnen over regular expressions helpen mij niet veel verder.