浅谈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 $_SERVER当前完整url的写法
Nov 12 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
php读取文件内容的方法汇总
Jan 24 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
PHP中类与对象功能、用法实例解读
Mar 27 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 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
PHP 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
jQuery 浮动广告实现代码
2008/12/25 Javascript
javascript 学习之旅 (1)
2009/02/05 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
原生js轮播特效
2017/05/18 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
vue二级路由设置方法
2018/02/09 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
用 Python 制作地球仪的方法
2020/04/24 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
大学生入党积极分子自我评价
2014/09/20 职场文书
初中学生操行评语
2014/12/26 职场文书
领导干部失职检讨书
2015/05/05 职场文书
python实现自定义日志的具体方法
2021/05/28 Python
总结Pyinstaller打包的高级用法
2021/06/28 Python
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android