javascript 引号转义字符-phphtml 双冒号通配符、单冒号、双冒号、javascript、HTML

2024-04-29 0 2,646 百度已收录

最近发现一个与逗号通配符相关问题,所以整理了一下这方面知识方便以后复习

双冒号:

·在字符串中使用变量

功能无需使用连接符号来连接大量简单字符串。 PHP 允许我们直接在双冒号字符串中包含单词

字符串变量,我们可以发现下面两个字符串的处理结果是一样的。

·斜杠和SQL语句

生成HTML代码或者SQL查询语句编写PHP程序时经常遇到的,是一件有趣的事情。 为什么这么说呢?

由于这涉及生成另一种类型的代码,因此您必须仔细考虑遵守该代码所需的语法约定

但。

我们来看一个这样的反例。 如果要查询数据库中名为“O'Keefe”的用户,一般的SQL语句方法

是这样的:

select*fromuserswherelast_name='O'Keefe'

注意,SQL 语句中的英文所有格(撇号)需要使用反斜杠通配符。 PHP专门提供了一些函数处理这个问题

在这种情况下,函数 AddSlashes($str) 的目的手动插入字符串中逗号字符的反斜杠通配符:

$last_name="奥基夫";

$sql="select*fromuserswherelast_name='".addslashes($last_name)."'";

在这种情况下,您还需要在last_name 字符串周围加上一个冒号(SQL 语法要求),因为这里使用了双冒号。

一串逗号,因此一对单冒号不需要使用通配符。 以下句子与使用单冒号字符串等效:

$sql='select*fromuserswherelast_name=''.addslashes($last_name).''';

每当将字符串写入数据库时​​,都必须确保上面的冒号正确使用通配符。 这是很多 PHP 的内容

初学者常犯的错误

·双冒号和HTML

与SQL语句不同,标准HTML语言中经常使用双冒号来表示字符串(当今许多浏览器都具有很强的容错能力)。

是的,在 HTML 中允许使用单个冒号甚至不使用冒号来表示字符串),例如

$html='';

$html="$link";

HTML 语言不支持反斜杠通配符。 仅当我们使用表单隐藏输入传输数据时才会发生这种情况。

感受一下。 设置hiddeninputs值的最好方法是使用htmlspecialchars()函数对其进行编码。以下句子可以是

javascript 引号转义字符-phphtml 双冒号通配符、单冒号、双冒号、javascript、HTML

通常传输可能包含双冒号的数据:

单冒号和双冒号的区别

双冒号上方数组将由编译解释,然后输出为 HTML 代码。

上面的单冒号不被解释,直接输出。

例如:

$foo=2;

echo "foois$foo";//复制结果:foois2

echo'foois$foo';//复制结果:foois$foo

echo "foois$foon";//复制结果:foois2(同时换行

echo'foois$foon';//复制结果:foois$foon

正如您所看到的,即使反斜杠在单冒号字符串中也失去了其扩展含义(不仅反斜杠 \

冒号')。因此,当您想要执行变量替换并在字符串中包含通配符序列如n(换行符)时,应该使用双引号

Number.单冒号字符串可以在其他任何地方使用。 在脚本中使用单冒号字符串的处理速度会更快,因为PHP句型解析

单冒号字符串的处理方法比较简单,而双冒号的处理就比较复杂,因为内部还需要对字符串进行解析,所以处理速度比较快。

javascript 引号转义字符-phphtml 双冒号通配符、单冒号、双冒号、javascript、HTML

稍微慢一点。

下面列出了各种表达方式

通配符:

在单个冒号内的字符串中唯一需要通配符的字符是反斜杠和单个冒号本身。 PHP 不会检测单冒号字符串中插入的变量或任何通配符序列。 因此使用这些方法定义字符串既直观快速

双冒号

识别通配符单冒号,但也识别插入的变量和表 1-1 中的通配符序列。

PHP提供了两个神奇引用函数magic_quotes_gpc和magic_quotes_runtime方便我们引用数据。 如果这两个函数在php.ini中设置为ON,那么它们会遇到单冒号'和双冒号',并且对于我们引用的数据是相反的。 斜杠是手动加上反斜杠的,是为了帮助我们手动翻译符号,保证数据操作正确性。 但在不同版本的PHP或者不同的服务器配置javascript 引号转义字符,有些

magic_quotes_gpc和magic_quotes_runtime有的设置为onjavascript 引号转义字符,有的设置为off,所以我们编写的程序必须同时符合on和off条件。 那么 magic_quotes_gpc 和 magic_quotes_runtime 这两个函数有什么区别呢? 请参阅以下说明:

magic_quotes_gpc

作用范围为:WEB客服端;

操作时间请求开始,例如脚本运行时。

magic_quotes_runtime

作用域范围:从文件读取的数据或执行 exec() 的结果或从 SQL 查询获取的结果;

javascript 引号转义字符-phphtml 双冒号通配符、单冒号、双冒号、javascript、HTML

动作时间:每次脚本访问运行状态下形成的数据时。

所以

magic_quotes_gpc的设置值会影响通过Get/Post/Cookies获取的数据

magic_quotes_runtime的设置值会影响从文件读取的数据或者从数据库查询得到的数据

//检查magic_quotes_gpc是否开启。 如果没有,请使用addslashes 进行通配符。

如果(get_magic_quotes_gpc()){

$str=$_POST['str'];

}别的{

$str=addslashes($_POST['str']);

顺便提一下我想关联的几个函数:

set_magic_quotes_runtime():

设置 magic_quotes_runtime 值。 0 = 关闭。 1 = 开启。 默认状态为关闭。 可以通过echophpinfo()查看magic_quotes_runtime;

get_magic_quotes_gpc():

检查 magic_quotes_gpc 值。 0 = 关闭。 1 = 开启。

javascript 引号转义字符-phphtml 双冒号通配符、单冒号、双冒号、javascript、HTML

get_magic_quotes_runtime():

检查 magic_quotes_runtime 值。 0=关闭。 1=开启。

注意,没有set_magic_quotes_gpc()函数,即程序中无法设置magic_quotes_gpc的值。

使用stripslashes 删除通配符,使用addslashes 添加通配符。

stringaddslashes(stringstr) 返回字符串:

该字符串在各个字符前添加反斜杠,用于数据库查询语句等。这些字符有单冒号 (')、双冒号 (")、反斜杠 (\) 和 NUL(NULL 字符)。效果。在处理mysqlGET、POST数据时,经常需要对数据进行破折号,进行通配符操作。PHP中有三个设置可以手动匹配'(单冒号)、"(双冒号)、\(反斜杠) ) 和

传输 NULL 字符。 PHP 将其称为魔术破折号。 这三个设置是 magic_quotes_gpc 并影响 HTTP 请求数据(GET、POST 和 COOKIE)。

无法在运行时更改。 PHP 中的默认值是打开的。 如果 magic_quotes_runtime 打开,大多数从外部源(包括数据库和文本文件)获取和返回数据的函数将返回带有反斜杠通配符的数据。 该选项可以在运行时更改,PHP 中的默认值是关闭的。

magic_quotes_sybase:

如果打开,单个冒号将用单个冒号而不是反斜杠进行通配。 该选项完全覆盖 magic_quotes_gpc。 如果同时打开这两个选项,单冒号会被通配成"。双冒号、反斜杠、NULL字符不会被通配。其实特殊符号的手动通配是很方便实现的,但这会导致程序效率提高了,程序的移植性就变得麻烦了,如果不知道服务器ini设置,就需要调用get_magic_quotes_gpc()。

,get_magic_quotes_runtime() 或 ini_get() 来测量状态。

if(!get_magic_quotes_gpc()){

foreach($_POSTas&$items){

$items=addslashes($items);

虽然我们在程序中的写法有点奇怪,但是我们在as后面的变量前添加了一个引用符号&,表示地址引用。 如果此时改变$items的值,就相当于改变了链表元素的值。 当PHP系统没有添加手动通配符时,我们使用这种方法为从表单发布的值一一添加通配符。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 引号转义字符-phphtml 双冒号通配符、单冒号、双冒号、javascript、HTML https://www.wkzy.net/game/201546.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务