问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在PHP正则表达式中双引号与单引号有什么区别,双引号里哪些需要转义,单引号里又是哪些需要转义

发布网友 发布时间:2022-04-06 06:48

我来回答

5个回答

懂视网 时间:2022-04-06 11:09

php常用的引号转义函数有

1. addslashes

addslashes对SQL语句中的特殊字符进行转义操作,包括(), (), (), (NULL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string函数用来转义SQL。

注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes操作,所以不需要在这些变量上重复调用addslashes,否则会double escaping的。不过magic_quotes_gpc在PHP5.3就已经被废弃,从PHP5.4开始就已经被移除了,如果使用PHP最新版本可以不用担心这个问题。stripslashes为addslashes的unescape函数。

2. htmlspecialchars

htmlspecialchars把HTML中的几个特殊字符转义成HTML Entity(格式:&xxxx;)形式,包括(&),(‘),(“),(<),(>)五个字符。

& (AND) => &

” (双引号) => " (当ENT_NOQUOTES没有设置的时候)

‘ (单引号) => ' (当ENT_QUOTES设置)

< (小于号) => <

> (大于号) => >

htmlspecialchars可以用来过滤$GET,$POST,$COOKIE数据,预防XSS。

注意htmlspecialchars函数只是把认为有安全隐患的HTML字符进行转义,如果想要把HTML所有可以转义的字符都进行转义的话请使用htmlentities。htmlspecialchars_decodehtmlspecialcharsdecode函数。

3. htmlentities

htmlentities把HTML中可以转义的内容转义成HTML Entity。html_entity_decode为htmlentities的decode函数。

4. mysql_real_escape_string

mysql_real_escape_string会调用MySQL的库函数mysql_real_escape_string,对(x00), ( ), ( ), (), (‘), (x1a)进行转义,即在前面添加反斜杠(),预防SQL注入。

注意你不需要在读取数据库数据的时候调用stripslashes来进行unescape,因为这些反斜杠是在数据库执行SQL的时候添加的,当把数据写入到数据库的时候反斜杠会被移除,所以写入到数据库的内容就是原始数据,并不会在前面多了反斜杠。

5. strip_tags

strip_tags会过滤掉NULL,HTML和PHP的标签。

相关学习推荐:PHP编程从入门到精通

热心网友 时间:2022-04-06 08:17

双引号里面的可以转义,单引号里面的不能转义,比如简单的\d代表数字,那么在单引号里面就不代表数字。追问但是\d在单引号里面也是可以匹配含有数字的字符串啊

热心网友 时间:2022-04-06 09:35

单引号内部的变量不会执行
双引号会执行

$name = 'hello';
echo "the $name";
会输出 the hello
而如果是单引号
$name = 'hello';
echo 'the $name';
会输出 the $name
主要区别就是这个,其他的无所谓,看你自己喜欢了

热心网友 时间:2022-04-06 11:10

举个例子你就清楚了:
<?php
$str = "Hello";

echo "$str World!"; // 输出Hello World!
echo '$str World!'; // 输出$str World!
?>

热心网友 时间:2022-04-06 13:01

当你的单引号或者双引号必须用到,没有其他的含义,只是起到引号的时候,就用\" ” 来转移
其中\"就表示双引号,外面的那个就是函数必须用的引号
例如 $a="ddddddd “gggg” ";
那么$a="ddddddd \“gggg \” ";
里面的单引号就要转义,或者是双引号
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么样的猫叫起司猫? 2021年春节后工地普遍是哪天开工? 美国大学介绍——印第安纳大学伯明顿分校 480-500分之间的大学有哪些 平安驾意险需要买两份保险吗? AI编译器技术剖析(一)-概述 AI编译器技术剖析(三)-树模型编译工具 Treelite 详解 研究性学习:人工智能产品的个人使用情况调研 全球变化中国现阶段水资源概况 我国水资源人均占有量现在只有 php中单双引号问题 PHP怎么获取文件大小 PHP,接收前台发过来的文件能限定文件大小吗? PHP如何让上传的大文件变小 用PHP做一个邮件系统 不知道怎么下手 接收邮件服务器(POP)怎么写啊? 如何用PHPMailer接收邮件 php发送邮件配置问题 Delphi中怎样通过pop3读取邮件中的内 c++语言pop3协议得到的邮件内容怎么解析 最近用php开发的oa项目的开发,客户需要能够设置pop3、stmp账户的设置,收发员工的个人邮箱邮件。 急需php pop3接收邮件的源码(可以接收附件),单是接收附件的代码也行 如何用php收取pop3的邮件 PHP怎么用POP3来收邮件 有关PHP时间函数问题 PHP语言:时间函数问题 php函数中time()和localtime()这两个时间函数有什么区别 请分别使用函数date()和getdate()显示系统日期及时间 (使用PHP) PHP教程 PHP常用功能模块 时间戳 3 时间相关的函数(1) 学习猿地 php中Time与date的区别,及相关函数作用? PHP 过滤函数有哪些 PHP字符串转义的问题,下边这字符串用什么函数处理了之后才能直接输出? PHP中的双引号转义,为什么这个没有使用,这样是对的吗 PHP有些函数括号内使用单引号有些使用双引号,为什么? 请问php有没有现成的函数,可以给字符串变成转义之后字符串的 关于PHP中双引号的嵌套 php中的echo的双引号为什么要转义 PHP在服务器端如何建立链表保存用户信息? think_php 怎么做链表操作 PHP实现:如何在只给定单链表中某个结点的指针的情况下删除该结点 php不支持指针,怎么实现单向链表 链表的实现 如何实现链表循环 实现一个链表操作 怎么实现链表? php如何实现长链接 php如何判断循环链表 PHP判断链表是否有环 定义链表类,要求实现 实现一个链表的类模板,需要进行插入删除等操作,祥见问题补充