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的FTP学习(二)[转自奥索]
Oct 09 PHP
php mysql数据库操作类
Jun 04 PHP
php max_execution_time执行时间问题
Jul 17 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php简单获取目录列表的方法
Mar 24 PHP
php编写简单的文章发布程序
Jun 18 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 PHP
php实现QQ小程序发送模板消息功能
Sep 18 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python删除列表中重复记录的方法
2015/04/28 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
英国最大的海报商店:GB Posters
2018/03/20 全球购物
泰国网上购物:Shopee泰国
2018/09/14 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
门诊手术室工作制度
2014/01/30 职场文书
公共场所禁烟标语
2014/06/25 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书