Bonjour tout le monde!
Alors voilà, j'ai fait un petit bbcode perso pour gérer les urls, qui fonctionne très bien jusqu'à maintenant...
Mais voilà, j'essaie de le modifier pour y inclure les ancres, et à ce moment là, ca bug... Je vous détaille les différents essais que j'ai fait...
Ce code ci-après est le code "basique", que j'utilisais jusqu'à maintenant, et qui fonctionne très bien...
%(\<a href="http://){1}((http://){1}(www.){0,1}([a-z0-9-" target="_blank">{1,})+([.][a-z]{1,3}){1}(/?[a-z0-9_-]*)*([.][a-z0-9]{1,}){0,}((\?|&)?[a-z0-9]*[=]{1}[a-z0-9_-]*)*){0,1}(]{1}([[:print:]]*)(\</a>){1}){1}%i
Ensuite, je me suis dit que l'ancre se placant à la fin, j'ai essayé de modifier le complément d'url, avec les variables, etc... Ce qui a donné ceci, mais là, rien ne change, seul les anciennes url, sans ancre, sont trouvées...
%(\<a href="http://){1}((http://){1}(www.){0,1}([a-z0-9-" target="_blank">{1,})+([.][a-z]{1,3}){1}(/?[a-z0-9_-]*)*([.][a-z0-9]{1,}){0,}((\?|&|#)?[a-z0-9]*[=]{0,1}[a-z0-9_-]*)*){0,1}(]{1}([[:print:]]*)(\</a>){1}){1}%i
Puis je me suis dit, pourquoi se casser les noi****, pour les compléments, j'autorise tout...
%(\<a href="http://){1}((http://){1}(www.){0,1}([a-z0-9-" target="_blank">{1,})+([.][a-z]{1,3}){1}(/?[a-z0-9_-]*)*([.][a-z]{1,}){0,}.*)(]{1}([[:print:]]*)(\</a>){1}){1}%i
Mais là, si 2 balises se situent sur la même ligne, il commence à la première, et se finit à la fin de la deuxième, en mettant comme lien tout ce qui se trouve entre-deux... Bref, pas vraiment ce qui est voulu...
J'ai fait également d'autres essais, mais tous très proches de ceux-ci, avec d'infimes modifications, mais les résultats sont identiques...
Auriez-vous donc une suggestion?!
PS: Je suis presque sur que je suis proche du but, mais je butte... Et je suis presque sur également que la solution est toute bête... Mais je ne la trouve pas...
Partager