我知道这是个愚蠢的问题,但我无法为我的问题搜索任何内容。
我有$q = "This is\\same text";
并且做
$q = stripslashes($q);
所以,$q
现在等于"This issame text"
!我怎样才能保存一个反斜杠?
谢谢你。
我知道这是个愚蠢的问题,但我无法为我的问题搜索任何内容。
我有$q = "This is\\same text";
并且做
$q = stripslashes($q);
所以,$q
现在等于"This issame text"
!我怎样才能保存一个反斜杠?
谢谢你。
剧本确实,它被告知,实际上。
在$q
中,双反斜杠计算为单个反斜杠(第一个反斜杠转义第二个反斜杠),然后将其剥离。
如果不评估元字符,则需要使用单引号:
$q = 'This is \\some text';
// String is now: This is \\some text
$q = stripslashes($q);
// String is now: This is \some text
编辑 根据您在迈克尔斯回答中的评论,您的输入中有多少有效的反斜杠可能会有些混乱。考虑以下输入:
$q1 = "This is\\\some \text";
$q2 = 'This is\\\some \text';
第一个实际上包含This is \\some <TAB>ext
. 这是由于 PHP 保留了无效的控制字符。\s
, 相反\t
是无效的控制字符,因此保留在原地。
然而,第二个字符串实际上将包含单引号中的内容,因为没有应用评估。
实际上
$q = "This is\\same text";
包含一个反斜杠。
如果你想让一个反斜杠留在那里,加倍他
$q = "This is\same \\ text";
$q = stripslashes($q);
变得
This issame \ text