浅谈htmlentities 、htmlspecialchars、addslashes的使用方法


Posted in PHP onDecember 09, 2016

1、html_entity_decode():把html实体转换为字符。

Eg:$str = "just atest & 'learn to use '";

echo html_entity_decode($str);

echo "<br />";

echo html_entity_decode($str,ENT_QUOTES);

echo "<br />";

echo html_entity_decode($str,ENT_NOQUOTES);

输出如下:

just a test & 'learn to use '
just a test & 'learn to use '
just a test & 'learn to use '

2、htmlentities():把字符转换为html实体。

Eg:$str = "just a test & 'learn to use'";

 echo htmlentities($str,ENT_COMPAT);

 echo "<br/>";

 echo htmlentities($str, ENT_QUOTES);

 echo "<br/>";

 echo htmlentities($str, ENT_NOQUOTES);

输出如下:

just a test & 'learn to use'
just a test & 'learn to use'
just a test & 'learn to use'

查看源代码如下:

just a test & 'learn to use'<br />

just a test & 'learn to use'<br />

just a test & 'learn to use'

3、addslashes():在指定的预定义字符前添加反斜杠

预定义字符包括:单引号(‘),双引号(“),反斜杠(\),NULL

默认情况下,PHP指令 magic_quotes_gpc 为 on,对所有的GET、POST 和COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数get_magic_quotes_gpc() 进行检测。

Eg:$str3="\ just a  '  \" test";

echoaddslashes($str3);

输出:

\\ just a \' \" test

4、stripslashes():删除由addslashes函数添加的反斜杠

Eg:$str4="\\ just a \'\" test";

echo stripslashes($str4);

输出:

just a ' " test

5、 htmlspecialchars():把一些预定义的字符转换为html实体。

预定义字符包括:& (和号) 成为&  
 " (双引号) 成为"
' (单引号) 成为'
< (小于) 成为<
> (大于) 成为>

Eg:$str5 = "just atest & 'learn to use'";

echo htmlspecialchars($str5, ENT_COMPAT);

echo "<br/>";

echo htmlspecialchars($str5, ENT_QUOTES);

echo "<br/>";

echo htmlspecialchars($str5, ENT_NOQUOTES);

输出:

just a test & 'learn to use'
just a test & 'learn to use'
just a test & 'learn to use'

查看源代码: 

just a test & 'learn to use'<br />
just a test & 'learn to use'<br />
just a test & 'learn to use'

6、 htmlspecialchars_decode():把一些预定义的html实体转换为字符。

会被解码的html实体包括:& 成为 &(和号)

 " 成为 " (双引号)
 ' 成为 ' (单引号)
 < 成为 < (小于)
 > 成为 > (大于)

Eg:$str6 = "just atest & 'learn to use'";

echo htmlspecialchars_decode($str6);

echo "<br />";

echo htmlspecialchars_decode($str6, ENT_QUOTES);

echo "<br />";

echo htmlspecialchars_decode($str6, ENT_NOQUOTES);

输出:

just a test & 'learn to use '
just a test & 'learn to use '
just a test & 'learn to use '

查看源代码:

just a test & 'learn to use '<br />

just a test & 'learn to use '<br />

just a test & 'learn to use '

防注入防web脚本综合使用:

$str= htmlspecialchars(addslashes($str));

$str= htmlspecialchars_decode(stripslashes($str));

以上这篇浅谈htmlentities 、htmlspecialchars、addslashes的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个很不错的PHP翻页类
Jun 01 PHP
php strlen mb_strlen计算中英文混排字符串长度
Jul 10 PHP
深入php多态的实现详解
Jun 09 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
使用URL传输SESSION信息
Jul 14 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
Oct 28 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
浅谈PHP的数据库接口和技术
Dec 09 #PHP
magento后台无法登录解决办法的两种方法
Dec 09 #PHP
Zend Framework常用校验器详解
Dec 09 #PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 #PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 #PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 #PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 #PHP
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
Python urlopen()函数 示例分享
2014/06/12 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
经贸专业毕业生求职信
2014/03/23 职场文书
班级文化建设标语
2014/06/23 职场文书