我创造了这个功能,链接标签,只要:添加目标作为href属性不包含特定字词的
<?php
function target_links($html)
{
$pattern = "/<(a)([^>]+)>/i";
$replacement = "<\\1 target=\"_blank\"\\2>";
$new_str = preg_replace($pattern,$replacement,str_replace('target="_blank"','',$html));
return $new_str;
}
?>
的目标是一个目标=“_空白”添加到所有链接标签。
现在我的问题是,我需要跳过所有的链接标签,其中href
属性包含一个特定的词,但我似乎无法找到适当的组合。你们能帮我吗?
它是一个必须用正则表达式来做到这一点,或者你可以把它改成使用PHPS XML函数(DOM *)? – Yoshi 2011-05-11 10:08:59
如果PHP DOM不会因为HTML损坏而失败,我可以提供建议吗? – Repox 2011-05-11 10:15:10