如果图片链接带两个http,如:
[img]http://cdn.xxx.com/?imgurl=http://cache.aaa.cn/x.jpg[/img]
解析出来的最终结果将会是
<img src="http://cdn.xxx.com/?imgurl=<a href="http://cache.aaa.cn/x.jpg" rel="nofollow" target="_blank"></a> />
我的修改方法:
public static function parse_links($str) {
$str = @preg_replace_callback('/(?<!!!\[\]\(|"|\'|\)|>)(https?:\/\/[-a-zA-Z0-9@:;%_\+.~#?\&\/\/=!]+)(?!"|\'|\)|>)/i', 'parse_link_callback', $str);
改为
$str = @preg_replace_callback('/(?<!!!\[\]\(|"|\'|\)|>|=|\?)(https?:\/\/[-a-zA-Z0-9@:;%_\+.~#?\&\/\/=!]+)(?!"|\'|\)|>)/i', 'parse_link_callback', $str);
阅读全文
收起全文