浅谈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语法速查表
Jan 02 PHP
PHP Squid中可缓存的动态网页设计
Sep 17 PHP
PHP自定义函数收代码
Aug 01 PHP
解析htaccess伪静态的规则
Jun 18 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
thinkphp使用phpmailer发送邮件的方法
Nov 24 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
Dec 26 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
ThinkPHP路由机制简介
Mar 23 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 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服务器实现多session并发运行
2006/10/09 PHP
同时提取多条新闻中的文本一例
2006/10/09 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
php的常量和变量实例详解
2017/06/27 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
理解JS事件循环
2016/01/07 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python关闭占用端口方式
2019/12/17 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
拖鞋店创业计划书
2014/01/15 职场文书
安全主题班会教案
2015/08/12 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server