2012-04-02 84 views
0

的preg_match基本href我有以下的preg_match更換任何HTML鏈接到它的工作原理除了它也改變了base_href價值的另一個網址 - 我希望它完全忽視了基本href值忽略使用PHP

$message = preg_replace("/href=\"http\:\/\/([a-zA-Z0-9\-]+\.[a-zA-Z0-9]+\.[a-zA-Z]{2,3}(\/*)?)/","href=\"http://www.site.com/system/link_tracker.php?URL=$1&ID={$ID}\"", $message); 

任何想法如何編輯這隻看一個href而不是基礎href?

回答

1
$message = preg_replace("/<a([^>]+)href=\"http\:\/\/([a-zA-Z0-9\-]+\.[a-zA-Z0-9]+\.[a-zA-Z]{2,3}(\/*)?)/", 
         "<a$1href=\"http://www.site.com/system/link_tracker.php?URL=$2&ID={$ID}\"", $message); 
+0

brill!作品100%:)將在8分鐘內接受你的答案:) – Zabs 2012-04-02 12:01:48

+0

任何想法如何改變你的preg_replace允許像http://www.facebook.com/user/12131 這樣的網址目前只有像http:// www.facebook.com似乎工作 – Zabs 2012-04-02 13:00:49