这是我从 stackoverflow 的其他地方获取的一段代码,并对其进行了一些修改。它为字符串中的所有链接添加一个类:
// adds class of ah_link to outbound links,
// This is intended as for use with tracking clicks on outbound links
private function add_tracking_link($html) {
// no extra class on these websites!
$follow_list = array($_SERVER['HTTP_HOST']);
return preg_replace('%(<a\s*(?!.*\brel=)[^>]*)(href="https?://)((?!(?:(?:www\.)?'.implode('|(?:www\.)?',$follow_list).'))[^"]+)"((?!.*\brel=)[^>]*)(?:[^>]*)>%', '$1$2$3"$4 class="ah_link ">',
$html);
}
它工作得很好,但是如果已经有一个类,在这种情况下它只是使属性加倍,就会出现问题。
我想知道是否有一种方法可以将新的类值添加到已经存在的类属性中?这超出了我的正则表达式安全区。