更改
的最简单方法是什么?<a href="link">title</a>
到
[url="link"]title[/url]
由于
答案 0 :(得分:2)
您可以尝试使用
$result = preg_replace('/<a href="(.*)">(.*)<\/a>/', '[url="\1"]\2[/url]', $input);
答案 1 :(得分:2)
尝试使用此表达式:#<a href="(.*?)">(.*?)</a>#s
。
示例:
$str = '<a href="link">title</a>';
$str = preg_replace( '#<a href="(.*?)">(.*?)</a>#s', '[url="\\1"]\\2[/url]', $str);
演示:Codepad
答案 2 :(得分:2)
提供改进版本:
1)将两个''视为参数附件
2)将使用多个标签
3)允许标签中的其他参数和各种间距
<?php
$r = "<a href=\"test.html\" arg2=\"foo\" bar3=\"_something_else\">test</a>\n
<a href= \"test2.html\" >test2</a>\n
<a href = 'test3.html'>test3</a>\n
";
$r = preg_replace("/<a.*?href[^=]*=[^'\"]*['\"]([^'\"]+)['\"].*?>([^<]+)<\/a>/", "[url=\\1]\\2[/url]", $r);
echo $r;
输出:
[url=test.html]test[/url]
[url=test2.html]test2[/url]
[url=test3.html]test3[/url]