首先,我获取网页的 html,然后删除通常出现在页面左侧或右侧(不在页面正文中)的 href 链接。Href 链接被删除,但它们的标签没有被删除。
例子:
<a href='http://test.blogspot.com/2012/11/myblog.html'>London</a>
链接正在被删除,但不是它的标签,即“伦敦”。如何删除 html 源代码中的完整行?我正在使用以下代码:
$string = strip_tags($html_source_code, '<a>', TRUE);
function strip_tags($text, $tags = '', $invert = FALSE) {
preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
$tags = array_unique($tags[1]);
if(is_array($tags) AND count($tags) > 0) {
if($invert == FALSE) {
return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);
}
else {
return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);
}
}
elseif($invert == FALSE) {
return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
}
return $text;
}