2012-04-02 142 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