Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je suis entrain de développer un CMS basé sur le ZF.
Je souhaiterais ajouter des urls "internes" dans les textes des articles que l'on peut créer à l'aide du CMS. J'ai pensé utiliser la même forme que les bbcode un peu modifié car ils ne prennent pas en compte les spécificités de zf pour les liens internes. J'entend par lien interne un lien faisant référence à un autre article d'un même site basé sur mon CMS.
Je pensais utiliser un bbcode like du style :
[url module=default controller=news action=show id=1 route=news]lien vers article 2[/url]
Ce que j'aimerais, c'est récupérer toutes les chaines de cette forme dans un texte et les remplacer par leur équivalent code HTML et la balise A.
Pour faire cela, je dois, il me semble, utiliser les expressions régulières afin de récupérer tous les éléments que je devrais passer à la fonction url() de zf pour construire mon url. Le problème, c'est que je ne vois pas du tout comment faire étant une bille en expression régulière
Si une bonne âme pouvait me diriger, voir me dire comment il faudrait faire, voir même encore m'indiquer si quelque chose existe déjà que je pourrais intégrer facilement : elle est la bienvenue.
Merci
PS : j'ai trouvé quelque chose qui existe sous PEAR.
Hors ligne
Bon, j'ai trouvé une solution.
Je me suis inspiré du module HTML_BBCodeParser de PEAR et j'ai créé un jeu de class qui me permet de gérer tout ça et le pire, c'est que ça fonctionne. Bon, certes, avec quelques contraintes notamment dans l'ordre des paramètres à fournir, mais c'est un bon début.
Pour info, je vous donne l'expression régulière que j'ai utilisé pour traiter les tags :
"!\[url module=(.*) controller=(.*) action=(.*) id=(.*) title=(.*) route=(.*)\](.*)\[/url\]!i"
Voila, merci PEAR
Hors ligne