Php 字符在两个反斜杠后出现斜杠问题

Php 字符在两个反斜杠后出现斜杠问题,php,stripslashes,Php,Stripslashes,我知道这是个愚蠢的问题,但我不能用谷歌搜索任何东西来解决我的问题 我有$q=“这是\\相同的文本”和do $q = stripslashes($q); 所以,$q现在等于“这是相同的文本”!我怎样才能节省一个反斜杠 谢谢。实际上,剧本是这样写的 在$q中,双反斜杠计算为单个反斜杠(第一个反斜杠转义第二个反斜杠),然后将其去除 如果不计算元字符,则需要使用单引号: $q = 'This is \\some text'; // String is now: This is \\some text

我知道这是个愚蠢的问题,但我不能用谷歌搜索任何东西来解决我的问题

我有
$q=“这是\\相同的文本”和do

$q = stripslashes($q);
所以,
$q
现在等于
“这是相同的文本”
!我怎样才能节省一个反斜杠


谢谢。

实际上,剧本是这样写的

$q
中,双反斜杠计算为单个反斜杠(第一个反斜杠转义第二个反斜杠),然后将其去除

如果不计算元字符,则需要使用单引号:

$q = 'This is \\some text';
// String is now: This is \\some text

$q = stripslashes($q);
// String is now: This is \some text

编辑根据您在Michaels回答中的评论,您的输入中有多少有效的反斜杠可能会有些混乱。考虑以下输入:

$q1 = "This is\\\some \text";
$q2 = 'This is\\\some \text';
第一个实际上包含
这是\\some ext
。这是因为PHP保留了无效的控制字符<与
\t
相反,code>\s
是无效的控制字符,因此保留在原来的位置

但是,第二个字符串实际上包含单引号中的内容,因为没有应用求值

$q = "This is\\same text";

包含一个反斜杠。

如果您想让一个反斜杠留在那里,请将其加倍

$q = "This is\same \\ text";

$q = stripslashes($q);
变成

This issame \ text

哦,我明白了。。。谢谢但是,如果我有这样的输入字符串:$q='这是\相同的文本',下次我如何将斜杠(4次)添加到斜杠上?对不起,您的示例无效,您在其中的“是”之后添加了空格。试着写$q='This is\\some text',你会得到与双引号相同的效果。空格是不相关的。相关部分是,双引号字符串中的两个反斜杠计算为一个反斜杠,而单引号字符串中的一个反斜杠仍然是一个反斜杠。