我的正则表达式有点问题
我为我的网站制作了一个自定义 BBcode,但我也希望解析 URL。
我正在使用 preg_replace,这是用于识别 URL 的模式:
/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/is
效果很好,但是如果 URL 在 [img][/img] 块内,上述模式也会将其拾取并产生如下结果:
//[img]http://url.com/toimg.jeg[/img] will produce this result:
<img src="<a href="http://url.com/toimg.jeg" target="_blank">/>
//When it should produce:
<img src="http://url.com/toimg.jeg"/>
我尝试使用这个:
/([^"][\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/][^"])/is
没有运气。
任何帮助将不胜感激。
编辑: 有关解决方案,请参阅关于 stema 答案的第二条评论。