有关PHP、HTML单引号、双引号转义以及转成HTML实体的那些事!

简介:

一、单引号和双引号转义在PHP的数据存储过程中用得比较多,即往数据库里面存储数据时候需要注意转义单、双引号;

先说几个PHP函数:

1、addslashes — 使用反斜线引用(转义)字符串;

  返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。大多数据库使用 \ 作为转义符:O\'reilly。这样可以将数据放入数据库中,而不会插入额外的 \。当 PHP 指令 magic_quotes_sybase 被设置成on 时,意味着插入 ' 时将使用 ' 进行转义。默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 

2、stripslashes — 去掉字符串的反斜杠引用(转义)

  即同addslashes()做相反的工作;

3、get_magic_quotes_gpc --- 检测魔术引用变量是否开启,倘若开启返回1,为开启则返回0;

 

复制代码
复制代码
if (!get_magic_quotes_gpc()) {
$lastname=addslashes($_POST['lastname']);
}
else {
$lastname=$_POST['lastname' ];
}
echo$lastname;  
$sql="INSERT INTO lastnames (lastname) VALUES ('$lastname')";
复制代码
复制代码

 

 

二、谈转义实体问题:

我们经常会遇到关于留言板之类的可以让用户输入信息的地方,这些地方都是需要注意的,因为不做转实体之类的话,html代码、script脚本可以轻易的被输入保存,并被其他用户执行;

所以类似用户在输入文本内输入<a href="xxx">hello</a>之类的,我们尽量要屏蔽掉,否则用户会乱搞,比如调CSS样式等,那样,我们页面将一塌糊涂。废话不多说,这里有几个关于PHP转实体的函数需要详细了解:

1、htmlspecialchars() 转义特别的字符为HTML实体;

  • '&' (ampersand) becomes '&amp;'
  • '"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.
  • ''' (single quote) becomes '&#039;' only when ENT_QUOTES is set.
  • '<' (less than) becomes '&lt;'
  • '>' (greater than) becomes '&gt;'

2、htmlspecialchars_decode()将实体转成HTML代码,函数1的反函数

 

3、 htmlentities()这个是全部转换html实体,和htmlspecialchars()区别在于,这个函数是转义全部的字符,而htmlspecialchars()仅仅转义上面限定的5个特殊字符!





本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/3507002.html,如需转载请自行联系原作者

目录
相关文章
|
11天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
4月前
|
前端开发 JavaScript 安全
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
163 0
|
1月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
1月前
编程笔记 html5&css&js 019 HTML实体
编程笔记 html5&css&js 019 HTML实体
|
3月前
|
Shell PHP
php案例:截取sy.66969.cn/sh.html中的sh怎么做?
php案例:截取sy.66969.cn/sh.html中的sh怎么做?
php案例:截取sy.66969.cn/sh.html中的sh怎么做?
|
3月前
|
存储 移动开发 前端开发
(2)需要的html典例以及PHP基础
(2)需要的html典例以及PHP基础
34 0
(2)需要的html典例以及PHP基础
|
4月前
|
数据采集 监控 JavaScript
巧用简单工具:PHP使用simple_html_dom库助你轻松爬取JD.com
本文将介绍如何使用PHP语言和一个简单的第三方库simple_html_dom来爬取JD.com的商品信息。simple_html_dom是一个轻量级的HTML解析器,它可以方便地从HTML文档中提取元素和属性,而无需使用正则表达式或DOM操作。本文将通过一个实例来展示如何使用simple_html_dom库来爬取JD.com的商品名称、价格、评分和评论数,并将结果保存到CSV文件中。本文还将介绍如何使用代理IP技术来避免被目标网站封禁或限制。
巧用简单工具:PHP使用simple_html_dom库助你轻松爬取JD.com
|
4月前
|
PHP
【PHP学习】—PHP文件嵌套HTML(四)
【PHP学习】—PHP文件嵌套HTML(四)
|
5月前
|
JavaScript
如何让html标签不转义
如何让html标签不转义
HTML 转义字符
单引号:&apos; 双引号:&quot; &符号:&amp;
848 0