我正致力于创建公告板转换器。我需要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
(在一个数组中),我正在使用正则表达式来尝试获取链接。但是,我一直在努力寻找一种方法来转换它,因为我之前没有使用正则表达式。
为麻烦道歉,非常感谢! :)
答案 0 :(得分:3)
我想你需要这样的东西
<?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]
答案 1 :(得分:1)
对于你的正则表达式,这是更清洁的
\[img[^\]]+?src="([^"]*)"[^\]]*\]
替换与你一样。
懒惰你需要?
,否则你会有意想不到的匹配
例如,第一个答案正则表达式匹配[img src="img1" style] [img 2] [img 3]
而不是您想要的