码不是最精简的,因为为了配合下面的过滤功能,我写的尽可能细致了一些。 2. 高级实现: 纠错+过滤
功能: 1. 2. 3. XHTML的纠错,输出标准的XHTML代码。 过滤不安全的代码但是不影响内容展示,只是对style/javascript中不安全代码进行清除。 对超长字符串插入
标记以实现浏览器兼容的自动换行功能, 相关文章可参考网页中超长文 字的断行问题。
function HtmlFixSafe($html) { if(!function_exists('tidy_repair_string')) return $html; //use tidy to repair html code // tidy 的参数设定 $conf = array( 'output-xhtml'=>true ,'drop-empty-paras'=>FALSE ,'join-classes'=>TRUE ,'show-body-only'=>TRUE ); //repair
$str = tidy_repair_string($html,$conf,'utf8');
//生成解析树
$str = tidy_parse_string($str,$conf,'utf8');
$s ='';
//得到body节点
$body = @tidy_get_body($str);
//函数 _dumpnode,检查每个节点,过滤后输出
function _dumpnode($node,&;$s){
//查看节点名,如果是