我们经常在后台会通过富文本编辑器发布一些内容,并存入数据库里。但当我们通过接口调用这些内容并返回给前端的时候,需要过滤这些富文本编辑器所生成的HTML代码、特殊字符等。
/**
* filter html and special characters
* 过滤 html 和特殊字符,主要是针对富文本编辑器里产生的HTML和特殊字符
* @param string $string
* @return array|string|string[]|null
*/
function filterHtmlLimit(string $string){
//把HTML实体标签转换为字符
$string = htmlspecialchars_decode($string);
//将空格替换成空
$string = str_replace(" ", "", $string);
//函数剥去字符串中的 HTML、XML 以及 PHP 的标签,获取纯文本内容
$string = strip_tags($string);
//去除转义字符
$string = str_replace(array(" ", " ", " "," ","‌","‍","“","”"), "", $string);
//过滤多余回车
return preg_replace("/\s+/"," ", $string);
}