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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
PhpMyAdmin中无法导入sql文件的解决办法
Jan 08 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
请离开include_once和require_once
Jul 18 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
laravel安装zend opcache加速器教程
Mar 02 PHP
PHP中的类型提示(type hinting)功能介绍
Jul 01 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
自制PHP框架之设计模式
May 07 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 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下编译PHP5.4和xdebug全记录
2015/04/03 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
php生成动态验证码gif图片
2015/10/19 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python生成密码库功能示例
2017/05/23 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
启动一个线程是用run()还是start()
2016/12/25 面试题
初中三好学生事迹材料
2014/01/13 职场文书
火箭队口号
2014/06/18 职场文书
公司收款委托书范本
2014/09/20 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
会计人员岗位职责
2015/02/03 职场文书
起诉书范文
2015/05/20 职场文书