今天本人遇到一个问题,前台输出内容中html标签未被解析
问题起源:
由于使用了ueditor富文本编辑器,内容直接存入数据库,输出时就变成这样了,使用strip_tags()函数都没有效果,查看了很多html字符转换的方式,都没有成功。
最后是组合strip_tags和htmlspecialchars_decode函数。
处理办法:$data = strip_tags(htmlspecialchars_decode($data));
原因分析:是因为当时数据$data字符串内容已经被转换成html实体了。需要使用htmlspecialchars_decode函数转换成字符,最后再使用strip_tag剥除剥去字符串中的 HTML、XML 以及 PHP 的标签。
相关延伸知识:
定义和用法
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。
注释:该函数是二进制安全的。
语法
strip_tags(string,allow)
参数
描述
string
必需。规定要检查的字符串。
allow
可选。规定允许的标签。这些标签不会被删除。
定义和用法
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
提示:如需把特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。
语法
htmlspecialchars(string,flags,character-set,double_encode)
定义和用法
htmlspecialchars_decode() 函数把预定义的 HTML 实体转换为字符。
htmlspecialchars_decode() 函数是 htmlspecialchars() 函数的反函数。
语法
htmlspecialchars_decode(string,flags)