删除+;\在Php中保存时

删除+;\在Php中保存时,php,Php,我正在保存这个字符串 $string= ~`!@#$%^&*()_-=+\][‘;/.,<>?:”{}| $string=~`!@$%^&*()_-=+\][‘;/.,?:”{}| 作为htmlentities(urlencode(addslashes(trim($string))); 但它正在删除+\,并将字符串返回给我,作为~!@$%^&*()\-=][';/,?:“{} 有人能帮我吗?您应该使用将字符串括在“之间,因为它不是一个变量。另外,\用作转义命令。要

我正在保存这个字符串

  $string= ~`!@#$%^&*()_-=+\][‘;/.,<>?:”{}| 
$string=~`!@$%^&*()_-=+\][‘;/.,?:”{}| 
作为
htmlentities(urlencode(addslashes(trim($string)));

但它正在删除
+\
,并将字符串返回给我,作为
~!@$%^&*()\-=][';/,?:“{}


有人能帮我吗?

您应该使用将字符串括在
之间,因为它不是一个变量。另外,
\
用作转义命令。要查看
\
,您应该键入将转义命令转义的
\
。您正在输入
也在你的字符串上,所以我想你想逃避它

$string= "~`!@#$%^&*()_-=+\\][‘;/.,<>?:\”{}|";
$string=“~`!@$%^&*()”[u-=+\\]['/,?:\“{}}\ 124;”;

甚至StackOverflow也删除了
+\
这个东西。你这样做应该不会有任何问题。

我在你的第一个字符串中找不到任何+\字符。这两个字符都不存在于原始字符串中。你为什么要将
addslashes
urlencode
htmlentities
?@Md.SahadatHoss组合使用
addslashes
我放置了+\但stackoverflow删除了它。所以我重新编辑了它。我相信当字符串中有任何html标记时,应该使用htmlentities。但情况似乎并非如此。