我将字符串(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
。如果你知道请帮助我。
答案 0 :(得分:1)
define ( 'NAME', 'Con\\\\ec\'t' );
我尝试使用下面的代码
获得第一次刺痛$mystring = stripslashes(NAME);
给了我Con's但我想得到$ mystring
在 strip_slashes之后,您无法获取 您在常量定义中使用的四个斜杠只会导致两个斜杠,因为一个 因此,两个反斜杠上的strip_slashes自然只会产生一个反斜杠。绝对没有“神奇”在这里。Con\\ec't
,因为您的常量NAME
已经仅包含值Con\\ec't
。< / p>
\
会转义下一个斜杠。
答案 1 :(得分:0)
$mystring = preg_replace('/\\+/', '\\', NAME);
答案 2 :(得分:0)
这可能不完美,但这对我有用。
$user_val = base64_encode(Con\\ec't);
并定义为
define ( 'NAME', base64_decode('aHR0cDovL3NheHdWIvc2VhcmNo'));
输出与用户输入值相同(Con\\ec't
)这个解决方案有任何缺点请解释