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