J'essaie actuellement d'obtenir une URL à partir d'un BBCode. Il y a quatre possibilités pour cela, et c'est mon problème actuel:URL-BBCode Regex
[url]http://stackoverflow.com/[/url]
[url='http://stackoverflow.com/']http://stackoverflow.com/[/url]
[url="http://stackoverflow.com/"]http://stackoverflow.com/[/url]
[url=http://stackoverflow.com/]http://stackoverflow.com/[/url]
J'ai besoin des deux. Ceci est, ce que j'ai jusqu'à présent:
/\[url(?:\=\'([^\'"]+)\')?](.+?)\[\/url]/i
Mais cela ne fonctionne juste avec le cas 1 & 2.
EDIT:
Cela fonctionne mieux:
/\[url(?:\=(?:[\"|'])?(.*)(?:[^[]+)?)?\](.*)\[\/url\]/i
Mais encore pas parfait.
EDIT:
Je suppose que, je l'ai. Il peut avoir besoin d'optimisation, mais il semble fonctionner:
/\[url(?:\=("|\'|)?(.*)?\1)?\](.*)\[\/url\]/i
Voir regexp-tester
duplication possible de [REGEX pour les liens bbcode + URL non bbcode] (http://stackoverflow.com/questions/17151716/regex-for-bbcode-links-non-bbcode-urls) – PeeHaa
Pas exactement, mais proche – user2557188