【发布时间】:2019-07-07 08:56:57
【问题描述】:
我有这个脚本用于将 BBCODE 图像标签替换为 HTML 标签
$text = "[img]https://somelink/2/3/pic.jpg[/img]
[img]https://somelink/2/3/pic.jpg[/img]
[img]https://somelink/2/3/pic.jpg[/img]";
echo preg_replace(
'~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s',
'<img src="$1" alt="" />',
$text);
这个 fork 链接,最终带有一些给定的扩展:.jpg .jpeg ...
但如果链接是这样的:[img]https://somelink/2/3/pic.jpg?w=bla[/img]
那么这个正则表达式模式就失败了。
对于所有类型的图像链接,什么是合适的模式?我试过了:
~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp).*)\[/img\]~Us
但这也行不通
【问题讨论】: