我有以下幾點:如何用一個唯一的URL替換字符串中的每個URL?
$reg[0] = '`<a(\s[^>]*)href="([^"]*)"([^>]*)>`si';
$reg[1] = '`<a(\s[^>]*)href="([^"]*)"([^>]*)>`si';
$replace[0] = '<a$1href="http://www.yahoo.com"$3>';
$replace[1] = '<a$1href="http://www.live.com"$3>';
$string = 'Test <a href="http://www.google.com">Google!!</a>Test <a href="http://www.google.com">Google!!2</a>Test';
echo preg_replace($reg, $replace, $string);
導致:
Test <a href="http://www.live.com">Google!!</a>Test <a href="http://www.live.com">Google!!2</a>Test
我期待與(差別在第一個鏈接是),結束了:
Test <a href="http://www.yahoo.com">Google!!</a>Test <a href="http://www.live.com">Google!!2</a>Test
這個想法是用一個唯一的其他URL替換一個字符串內的鏈接中的每個URL。這是一個通訊系統,我想跟蹤用戶點擊的內容,因此這個網址將是一個「假」的網址,在記錄點擊後他們將被重定向到真實的網址。
你會如何使用的preg_match做更換? – 2009-04-18 07:45:56
對不起,忘了這一點,當1寫我的1-1之後開始編輯我的職務,以增加使用的preg_match()來實現你想要的東西的一種潛在方式。希望它能幫助。 – hbw 2009-04-18 07:47:17
此外,1一不小心說的preg_match()時,實際上意味着preg_match_all 1() - 比較遺憾的是,它已經有一段時間,因爲1've使用這些功能。 – hbw 2009-04-18 07:52:07