浅谈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与javascript对多项选择的处理
Oct 09 PHP
新闻分类录入、显示系统
Oct 09 PHP
pdo中使用参数化查询sql
Aug 11 PHP
php ci框架验证码实例分析
Jun 26 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
php给图片加文字水印
Jul 31 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 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
数据库相关问题
2006/10/09 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
常用jQuery代码分享
2015/07/14 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
JSONP基础知识详解
2017/03/19 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
修改npm全局安装模式的路径方法
2018/05/15 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
Python解析nginx日志文件
2015/05/11 Python
python list格式数据excel导出方法
2018/10/31 Python
python3安装speech语音模块的方法
2018/12/24 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python 使用多属性来进行排序
2019/09/01 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
python 实现两个npy档案合并
2020/07/01 Python
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
数学教师个人总结
2015/02/06 职场文书
志愿者个人总结
2015/03/03 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
mysql全面解析json/数组
2022/07/07 MySQL
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript