$pa = '%<style(.*?)</style>%si'
下面的正则表达式,是匹配html中所有标签的,你可以进行替换,最终得到html的文本内容:
'%<(style|script)[^<>]*>.*?</\1>|</?[a-z][a-z0-9]*[^<>]*>|<!--.*?-->%si'
调用下面函数,想去掉什么标签,就去掉什么<?php
/**
* 去掉指定的html标签
* @param array $string
* @param bool $str
* @return string
*/
function _strip_tags($tagsArr,$str) {
foreach ($tagsArr as $tag) {
$p[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"
}
$return_str = preg_replace($p,"",$str)
return $return_str
}
$str = "<b>您好</b><input type='text' name='' /><a href='http://www.baidu.com'>百度一下,你就知道</a>"
echo _strip_tags(array("b", "input", "a"),$str)#去掉 B 标签和 INPUT 标签
?>