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录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
让你同时上传 1000 个文件 (一)
Oct 09 PHP
在IIS上安装PHP4.0正式版
Oct 09 PHP
扩展你的 PHP 之入门篇
Dec 04 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
PHP中防止SQL注入方法详解
Dec 25 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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 版本]
2007/03/20 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
详解python单例模式与metaclass
2016/01/15 Python
Python实现识别手写数字大纲
2018/01/29 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
如何使用repr调试python程序
2020/02/28 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
财务经理岗位职责
2013/11/09 职场文书
校三好学生主要事迹
2014/01/11 职场文书
探矿工程师自荐信
2014/01/24 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
导游词之神仙居景区
2019/11/15 职场文书