本文来自:邯郸贾氏!
先看一下这个https://www.jb51.net/article/84452.htm
function filterHtml($content)
{
$search = array("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'([\r\n])[\s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e",
"'“'i",
"'”'i"
);
$replace = array("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)",
"‘",
"’"
);
$filterHtml = preg_replace($search, $replace, $content, -1);
return $filterHtml;
}
如果是数组还会报错

只能把带e的单独拿出来重新使用 preg_replace_callback()
function filterHtml($content)
{
$search = array("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记
"'([\r\n])[\s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'“'i",
"'”'i"
);
$replace = array("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"‘",
"’"
);
$matches = "\\1";
$filterHtml = preg_replace($search, $replace, $content, -1);
$filterHtml = preg_replace_callback("'&#(\d+);'", function($matches){
return chr($matches[1]);
}, $filterHtml, -1);
return $filterHtml;
}
本文介绍了一个PHP函数用于过滤HTML代码中的特定元素,如JavaScript脚本、HTML标签等,并演示了如何处理HTML实体及移除空白字符。
586

被折叠的 条评论
为什么被折叠?



