PHP中htmlentities跟htmlspecialchars的区别
http://php.net/manual/zh/function.htmlspecialchars.php
很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。
这两个函数在格式化带有英文字符的html代码的时候基本没啥问题,但是htmlentities对中文字符也不放过,这样得出来的结果是中文字符 部分变为一堆乱码。当时做英文站的时候根本就没觉察到这个问题,而今天公司的一个收藏站却因为有有非英文字符而出现了问题,我最终查出来是 htmlentities这个函数的问题,同时我也找到了htmlspecialchars这个函数。
对于这两个函数,php手册上都是英文做的解释,其中在htmlentities函数的说明部分有这么一段英文:
This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.
从这句话中我们也可以看出来这两个函数虽然基本功能差不多,但是还是有细微的差别在里面的。再仔细看htmlspecialchars函数里面的一段话:
The translations performed are:
‘&’ (ampersand) becomes ‘&’
‘”‘ (double quote) becomes ‘”‘ when ENT_NOQUOTES is not set.
”’ (single quote) becomes ”’ only when ENT_QUOTES is set.
‘<’ (less than) becomes ‘<’
‘>’ (greater than) becomes ‘>’
可以了解到htmlspecialchars只转化上面这几个html代码,而htmlentities却会转化所有的html代码,连同里面的它无法识别的中文字符也给转化了。
PHP中htmlentities跟htmlspecialchars的区别相关推荐
- PHP中htmlentities和htmlspecialchars的区别
使用函数 htmlentities 后使中文变乱码,以至数据存到数据库全部是乱码.一直以为是MYSQL字符集设置问题,花了两天时间才找到原因.使用htmlspecialchars既可解决问题. 这两个 ...
- PHP中htmlentities和 htmlspecialchars区别
简介: string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $enc ...
- PHP中文无法查询,php 中htmlentities导致中文无法查询问题
在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍. htmlentities用法 ...
- python中break和continue的区别
python中break和continue的区别 break 结束for 或者while 循环 后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...
- java中separator_java - File.separator和路径中的斜杠之间的区别
java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...
- PHP中self和static的区别,php中self与static的区别
原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...
- php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析
本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...
- php $this self,php中self与$this的区别
学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
最新文章
- python环境变量配置_python+ pycharm 环境安装 + pycharm使用
- Apache Kafka-生产消费基础篇
- java 登录牵手_Java: HttpURLConnection 模拟登录方法 (带cookie 的Post/Get)_20160908_七侠镇莫尛貝...
- HTML 取消超链接下划线
- 从零开始学前端:链接跳转 --- 今天你学习了吗?(CSS:Day03)
- OpenVINO(Version: 2021.3)系统需求
- Docker概述 官方文档 Google翻译
- 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
- VC++ MFC 经典教程 – 基础篇
- FasterRCNN之整体框架详解
- python机器人仿真软件_最火的Python语言也能做机器人仿真,你会不?
- Google Chrome 浏览器安装教程
- 用html制作ps,ps制作图片的步骤
- 网课答案接口 查题系统
- eclipse配置--代码提示、xml提示
- 关机闹钟原理,Android和Iphone关机闹钟
- Pycharm报错:FutureWarning: `distplot` is a deprecated function and will be removed in a future version
- 计算机论文的技术路线图,怎么写好论文开题报告技术路线流程图
- stm32怎么加载字库_如何用STM32的片内Flash存储中文字库
- Haskell:理解Haskell中的CPS(Cont)
热门文章
- Nature子刊:厌氧消化链球菌促进结直肠癌发生及调节肿瘤免疫
- java 拉姆表达式_强大的拉姆表达式转Sql 类库 - SqlSugar 隐藏功能之Lambda
- pandas任取dataframe中的一个或者多个数据行(head、tail、loc、iloc),将抽取到的一个或者多个数据行复制N次形成新的dataframe
- pandas使用insert函数将dataframe特定数据列移动到第一列实战:Move a Column to First Position
- R语言配对图可视化:pivot_longer函数将宽格式的数据重塑为长格式并进行数据全连接和左连接(left join)、配对图可视化(根据分类变量的值为散点图上的数据点添加颜色)
- python使用matplotlib绘制水平条形图并在条形图上添加实际数值标签实战
- 项目快速开发的几点感悟
- github用相对路径显示图片_url-图像未显示在GitHub的README.md中
- Pandas中 DateFrame 修改列名
- 三十六、请求分页管理方式