1
function html_url_to_link($string) {
$patterns = array();
$patterns[0] = '/user\/(.+)/';
$patterns[1] = '/http:\/\/(.+)/';
$replacements = array();
$replacements[0] = '<a href="/user/$1">user/$1</a>';
$replacements[1] = '<a href="$0">$0</a>';
return preg_replace($patterns, $replacements, $string);
}
如果文本是http://website.com/user/account,则第一个数组(0)会干扰第二个数组(1)。如何阻止一个preg替换阵列干扰另一个阵列?
你不能得到的。你必须写一个模式来一次完成。 – 2015-04-02 21:24:23
如果你希望与'patterns [0]匹配的字符串以'user'开始,你可以使用'/^user \ /(。+)/''。 – chris85 2015-04-02 21:43:13