浅谈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 相关文章推荐
3
Oct 09 PHP
用PHP来写记数器(详细介绍)
Oct 09 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
php命令行用法入门实例教程
Oct 27 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 10 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 PHP
php中get_object_vars()在数组的实例用法
Feb 22 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
php防注入及开发安全详细解析
2013/08/09 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
python决策树之C4.5算法详解
2017/12/20 Python
python线程中的同步问题及解决方法
2019/08/29 Python
python解析yaml文件过程详解
2019/08/30 Python
python实现根据文件格式分类
2019/10/31 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
实验室的标语
2014/06/20 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
python基础之文件处理知识总结
2021/05/23 Python
Python如何使用循环结构和分支结构
2022/04/13 Python