我正在创建一个公告板转换器。我需要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]
不是你想要的