有关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,如需转载请自行联系原作者

目录
相关文章
|
18天前
|
自然语言处理 开发者
HTML 字符实体的妙用
HTML字符实体在网页设计与开发中有诸多妙用:首先,它们能避免解析冲突,确保特殊字符如`&lt;`、`&gt;`和`&`不会被误认为标签;其次,可用于显示不可见字符,如不间断空格`&nbsp;`,优化文本格式。此外,借助字符实体还可轻松插入多语言符号,如`&yen;`表示的日元符号¥,提升网页国际化水平。在代码中使用字符实体亦能增强可读性,尤其当涉及大量特殊字符时,便于他人理解。最后,在旧版浏览器或特定编码环境下,字符实体确保了文本的一致显示,提高了兼容性。
|
2月前
|
数据采集 JavaScript 数据挖掘
如何使用 PHP Simple HTML DOM Parser 轻松获取网页中的特定数据
本文介绍了使用PHP Simple HTML DOM Parser进行网页数据抓取的方法,尤其适用于从懂车帝二手车网站提取汽车品牌、价格和里程等关键信息。首先,安装并配置所需库,使用代理IP和设置cookie与useragent来模拟用户行为,避免被封。然后,通过编写PHP脚本,利用cURL获取网页内容,解析HTML并提取所需数据,最终将数据保存至CSV文件。文章强调了正确配置代理和用户代理的重要性,并提供了完整的PHP代码示例,以帮助读者理解和应用网页抓取技术。
如何使用 PHP Simple HTML DOM Parser 轻松获取网页中的特定数据
|
3月前
|
数据采集 缓存 自然语言处理
PHP将HTML标签转化为图片
通过这个方法,PHP后端能够实现将HTML内容转化为图片的功能。这种方式虽然牵涉到一些额外的安装和配置,但能够相对灵活且稳定地解冀转换需求,适用于需要在后端动态生成图片的场景。
87 1
|
4月前
|
开发者
HTML 实体字符简介
HTML 实体字符简介
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之代码域如何管理上传的PHP和HTML代码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
JSON PHP 数据格式
php 富文本双引号问题,将双引号变为&quot;html转义入库
php 富文本双引号问题,将双引号变为&quot;html转义入库
40 0
|
22天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
PHP 数据格式 JSON
|
1月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
|
2月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。