我正在尝试从$ contactname中删除空格。现在,如果我查看下面的代码,我得到:
First Last
如果我用'first last'替换$ _SESSION ['name'],我得到:
firstlast
关于为什么只有当它是静态字段时才有效的任何想法?
$contactname=$_SESSION['name'];
$contactname = preg_replace('/( *)/', '', $contactname);
echo $contactname."\n";
更新了代码并遇到同样的问题:
$contactname=$_SESSION['name'];
$contactname = str_replace(' ', '', $contactname);
echo $contactname."\n";
答案 0 :(得分:1)
请勿使用preg_replace删除空格。使用:
str_replace(' ', '', $contactname);
它更快。
答案 1 :(得分:0)
你的正则表达式应该使用空格的字符类\s
:
$contactname = preg_replace('/\s+/', '', $contactname);
为了替换可能在$ _SESSION中的空格,或者如果保证只是空格,则使用str_replace
(因为它不需要正则表达式引擎并且速度更快):
$contactname = str_replace(' ', '', $contactname);