Wow, thanks for that image. It really helps!
[quote]Here, this image may help you.
[img]http://www.url.to.image.jpg[/img]
[/quote]
文字也可以显示为
Wow, thanks for that image. It really helps!
[quote="username"]Here, this image may help you.
[img]http://www.url.to.image.jpg[/img]
[/quote]
因此,我们想要做的就是抓取报价中的所有图片,并用[img]
替换这些[url=http://www.url.to.image.jpg]Click here to view the image[/url]
标记。但是这个操作应该仅适用于quote标签内的图像。我已经查看了PHP的各种BBCode解析器,但无法找到能够执行此操作的任何内容,而且我不确定此类任务所需的正则表达式。
答案 0 :(得分:0)
你可以尝试:
(\[quote[^]]*].*?)(?=\[img])\[img](.*?)\[/img]
替换字符串
$1[url=$2]Click here to view the image[/url]
不确定代码。也许:
$result = preg_replace('%(\[quote[^]]*].*?)(?=\[img])\[img](.*?)\[/img]%sim', '$1[url=$2]Click here to view the image[/url]', $subject);
答案 1 :(得分:0)
我们必须确保[/quote]
之前没有[img]
。这可以通过不使用.*?
,但((?!\[/quote]).)*
$regex = '#(\[quote[^]]*]((?!\[/quote]).)*)\[img](.*?)\[/img]#s';
$replace = '$1[url=$3]Click here to view the image[/url]';
$str = preg_replace($regex, $replace, $str);