浅谈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 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
PHP session会话的安全性分析
Sep 08 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
Yii实现文章列表置顶功能示例
Oct 18 PHP
PHP+Mysql无刷新问答评论系统(源码)
Dec 20 PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 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页面防重复提交方法总结
2013/11/25 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
js微信分享API
2020/10/11 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
python实现多线程的两种方式
2016/05/22 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
Python猴子补丁知识点总结
2020/01/05 Python
浅谈Python 函数式编程
2020/06/20 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
买房委托公证书
2014/04/08 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
商场营业员岗位职责
2015/04/14 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
导游词之上海豫园
2019/10/24 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL