PHP替换BBcode标签



我正在创建一个公告板转换器。我需要PHP替换/重组以下内容:

[img alt="" src="IMAGE LINK, NOT ENDING IN AN IMAGE FORMAT EXTENSION" style="max-width:100%;"]

:

[img]IMAGE LINK[/img]

可以删除其他所有内容,如alt标记。

此刻,我有PHP使用preg_replace(在一个数组中),我正在使用regex来尝试获取链接。然而,我正在努力寻找一种方法来转换它,因为我以前没有使用过regex。

很抱歉给您带来麻烦,非常感谢!:)

我想你会需要这样的东西

<?php
$string = '[img alt="" src="IMAGE LINK, NOT ENDING IN AN IMAGE FORMAT EXTENSION" style="max-width:100%;"]';
$matches = array();
print preg_replace('|[img.*src="(.*)" style.*]|', '[img]$1[/img]', $string);

打印

[img]图像链接,不以图像格式扩展名[/img]

对于你的正则表达式,这是更简洁的

[img[^]]+?src="([^"]*)"[^]]*]

替换与您拥有的相同。

您需要?用于懒惰,否则您将获得意想不到的匹配例如,第一个答案regex匹配[img src="img1" style] [img 2] [img 3]不是你想要的

最新更新