浅谈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基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
PHP之数组学习
May 29 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
PHP使用QR Code生成二维码实例
Jul 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
PHP防止注入攻击实例分析
2014/11/03 PHP
浅谈json_encode用法
2015/03/05 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
Python使用wxPython实现计算器
2018/01/30 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
高中数学教学反思
2014/01/30 职场文书
大学老师推荐信
2014/02/25 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
介绍信怎么写
2015/01/30 职场文书
跳高加油稿
2015/07/21 职场文书
工作感言一句话
2015/08/01 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电