0

我将 String( Con\\ec't)分配给$user_val如下所示

$user_val = addslashes(Con\\ec't);

接下来我想写入$user_val另一个 PHP 文件作为全局常量。之后,带有斜杠的字符串分配NAME常量

define ( 'NAME', 'Con\\\\ec\'t' );

我尝试使用下面的代码获取第一个字符串

 $mystring = stripslashes(NAME);

那给了我,Con\ec't但我想得到Con\\ec't$mystring如果你知道请帮助我。

4

3 回答 3

1
define ( 'NAME', 'Con\\\\ec\'t' );

我尝试使用以下代码获得第一次刺痛

$mystring = stripslashes(NAME);

这给了我 Con\ec't 但我想为 $mystring 获得 Con\ec't

你不能在strip_slashesCon\\ec't 之后得到,因为你的常量NAME 已经只包含这个值Con\\ec't

您在常量定义中使用的四个斜杠导致只有两个斜杠,因为一个\转义了下一个。

因此,两个反斜杠上的 strip_slashes 自然会产生一个反斜杠。这里绝对没有“魔法”。

于 2013-05-28T12:20:51.553 回答
0
$mystring = preg_replace('/\\+/', '\\', NAME);
于 2013-05-28T11:48:35.537 回答
0

这可能并不完美,但这对我有用。

 $user_val = base64_encode(Con\\ec't);

并定义为

define ( 'NAME', base64_decode('aHR0cDovL3NheHdWIvc2VhcmNo'));

输出与用户输入的值相同 is( Con\\ec't) 请问这个解决方案有什么缺点吗请解释

于 2013-06-10T05:53:00.060 回答