php strip_tags延伸函数-处理html(采集用的上)
strip_tags延伸函数-处理html(采集用的上) [代码片段(35行)]
/**
* This function turns HTML into text
* 将html转化为txt
*/
function html2txt($document) {
$search = array ('@<script[^>]*?>.*?</script>@si', // Strip out javascript
'@<style[^>]*?>.*?</style>@siU', // Strip style tags properly
'@<[\\/\\!]*?[^<>]*?>@si', // Strip out HTML tags
'@<![\\s\\S]*?--[ \\t\\n\\r]*>@' )// Strip multi-line comments including CDATA
;
$text = preg_replace ( $search, '', $document );
return $text;
}
/**
* removes the HTML tags along with their contents
* 移除/过滤html标签并且移除标签内的内容
* 注:$tags为需要保留的标签 invert为true时结果相反
*/
function strip_tags_content($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;
}
//该片段来自于http://outofmemory.cn
精彩图集
精彩文章






