我希望有一个可以在文本中解析的函数,然后它将所有包含 (jpg|png|gif|jpeg|bmp) 扩展名<img>
的链接替换为标签,之后它还将替换所有其他没有 ( jpg|png|gif|jpeg|bmp) 带有<a>
标签的扩展名。
例如它应该替换:
http://imgur.com/gallery/TpGvHBL http://i.imgur.com/TpGvHBL.jpg
到
<a href="http://imgur.com/gallery/TpGvHBL" target="_blank">http://imgur.com/gallery/TpGvHBL</a> <img src="http://i.imgur.com/TpGvHBL.jpg" />
==================================================== ==========================
目前,我可以<img>
使用以下正则表达式将图像 url 替换为标记:
$text = preg_replace('#((https?|ftp):\/\/([^\s]*)\.(jpg|gif|png))#', '<img src="$1" />', $text);
并在下面替换普通的 url 来<a>
标记:
$text = preg_replace('/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i', '<a href="$1" target="_blank">$1</a>', $text);
我想要的是更改第二个正则表达式以仅替换非图像 url,因为它会与我的第一个正则表达式冲突。
谢谢你。