php获取html内的纯文本

在写xml的时候,文档要求内容里面只要图片和段落就可以了,其他的css,js什么的都不需要。

所以,在输出的时候,就要用正则去过滤掉不需要的标签代码。

第一种:php正则去除js标签代码。

$preg = "/<script[\s\S]*?<\/script>/i";
$content = preg_replace($preg, "", $content);

第二种:php正则去除meta标签

$preg = "/<meta[\s\S]*?>/i";
$content = preg_replace($preg, "", $content);

第三种:php正则去除link标签

$preg = "/<link[\s\S]*?>/i";
$content = preg_replace($preg, "", $content);

第四种:php正则去除页内css样式

$preg = "/<style[\s\S]*?<\/style>/i";
$content = preg_replace($preg, "", $content);

第五种:php正则去除行内样式,id,class等

$preg = "/(style|id|class)=\"[\s\S]*?\"/i";
$content = preg_replace($preg, "", $content);

其他的标签可以自行脑补。

 

 

<pre>function getClearStr($str){
//去掉中,英文标点符号和HTML代码
    $str = preg_replace( "/<style[\s\S]*?<\/style>/i", "", $str );
    $str = preg_replace( "/<script[\s\S]*?<\/script>/i", "", $str );
    $str=preg_replace('/\s/','',preg_replace("/[[:punct:]]/",'',strip_tags(html_entity_decode($str,ENT_QUOTES,'UTF-8'))));

    return $str;
}</pre>