php中html_entity_decode实现HTML实体转义


Posted in PHP onJune 13, 2018

最近遇到一个问题,数据中包含中文引号,结果被转义存储到数据库,取数据的时候用了htmlspecialchars_decode把实体转义回去,结果发现并没有生效,看了一下htmlspecialchars_decode只支持5个指定的实体转换,其他的[我遇到的是中文引号&ldrquo;]

因此发现了html_entity_decode可以把所有的实体转义回去~

另外,如果你在浏览器中测试,会发现是转义回去的,这是因为浏览器自动给处理了。实际上是没有转回去的,可以到命令行试试哦~~

html_entity_decode:把所有的html实体转换为原来的字符

与htmlentities() 相反

更准确地说,这个函数解码所有的实体(包括所有的数字实体):a)对于所选择的文档类型必须是有效的 - 即对于XML,这个函数不解码可能在某些DTD中定义的命名实体 - 以及b) 其中的字符或字符位于与所选编码相关联的编码字符集中并且在所选文档类型中被允许。 所有其他实体保持原样。

htmlspecialchars_decode:将特殊的 HTML 实体转换回普通字符

此函数的作用和 htmlspecialchars() 刚好相反。它将特殊的HTML实体转换回普通字符。

被转换的实体有: &, " (没有设置ENT_NOQUOTES 时), ' (设置了 ENT_QUOTES 时), < 以及>。

所以并不能把不包含在以上5个的其他转换回去。

实例

把 HTML 实体转换为字符:

<?php
$str = "<© W3CSçh°°¦§>";
echo html_entity_decode($str);
?>

上面代码的 HTML 输出如下(查看源代码):

<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>

上面代码的浏览器输出如下:

<© W3CSçh°°¦§>

PHP 相关文章推荐
PHP中几个常用的魔术常量
Feb 23 PHP
PHP的加密方式及原理
Jun 14 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 PHP
PHP执行linux命令6个函数代码实例
Nov 24 PHP
php处理多图上传压缩代码功能
Jun 13 #PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 #PHP
PHP实现打包zip并下载功能
Jun 12 #PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 #PHP
PHP+redis实现的悲观锁机制示例
Jun 12 #PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 #PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 #PHP
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
php二维数组转成字符串示例
2014/02/17 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
python实现人人网登录示例分享
2014/01/19 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
卫校毕业生个人自我鉴定
2014/04/28 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
父亲节活动总结
2015/02/12 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
小学教师教学随笔
2015/08/14 职场文书
2016春季运动会前导词
2015/11/25 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书