研究了半天的的自动提取正文到description,乱码字符过滤的问题,从网上搜集整理了一个函数,献给各位朋友,基本上能过滤干净,但有的文章提取还是还是会有空白,如果有高手解决,请回复。谢谢。 function NoHtml($str){ $html_string = array("&", " ", "'", '"', "<", ">", "\t", "\r"); $html_clear = array("&", " ", "'", """, "<", ">", " ",""); $js_string = array("/<script(.*)<\/script>/isU"); $js_clear = array(""); $frame_string = array("/<frame(.*)>/isU", "/<\/fram(.*)>/isU", "/<iframe(.*)>/isU", "/<\/ifram(.*)>/isU",); $frame_clear = array("", "", "", ""); $style_string = array("/<style(.*)<\/style>/isU", "/<link(.*)>/isU", "/<\/link>/isU"); $style_clear = array("", "", ""); $str=strip_tags($str); $str =preg_replace('/\s/i', '', $str); $str =trim($str); $str=str_replace(" ","","$str"); //过滤字符串 $str = str_replace($html_string, $html_clear, $str); //过滤JS $str = preg_replace($js_string, $js_clear, $str); //过滤ifram $str = preg_replace($frame_string, $frame_clear, $str); //过滤style $str = preg_replace($style_string, $style_clear, $str); $str=trim($str); return $str; } 添加到e/class/connect.php 调用的时候用<?=esub(NoHtml($navinfor[newstext]),300)?>注意大小写。
|