PHPLaravel将HTML实体转换回普通字符
Posted 李文和的后花园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPLaravel将HTML实体转换回普通字符相关的知识,希望对你有一定的参考价值。
问题
最近一个laravel模板的项目需要用到summernote富文本编辑器,内容保存到数据库里是原始的html代码。再读取出来时使用htmlspecialchars_decode()对内容进行转换,但输出的结果还是html代码。如“<p>123</p>”,输出的结果应该是“123”,但是实际上转换并没有成功。在使用中表明,Laravel并不能像Thinkphp那样使用htmlspecialchars_decode()对html代码进行转换。
解决办法
查看Laravel官网的文档,发现文档的Blade模板引擎那一节有写到如何显示原生数据。文档里提到,默认情况下,Blade 的 {{ }}
语句已经通过 PHP 的 htmlentities
函数处理以避免 XSS 攻击。所以如果想显示原生数据,应该在Blade模板中这样写
Hello, {!! $name !!}.
就可以成功输出“123”了。
总结
主要问题还是看文档时没有认真看,太过于囫囵吞枣,结果浪费了自己的时间,希望自己能够引以为戒吧。
以上是关于PHPLaravel将HTML实体转换回普通字符的主要内容,如果未能解决你的问题,请参考以下文章