使用PHP忽略preg_match上的基本href

时间:2012-04-02 11:55:55

标签: php preg-match

我有以下preg_match将任何html链接替换为其工作的另一个url,除了它还会更改base_href值 - 我希望它完全忽略基本href值

$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 个答案:

答案 0 :(得分: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);