如何在PHP中去掉字符串中的所有空格?

如何在PHP中去掉字符串中的所有空格?,php,string,spaces,Php,String,Spaces,如何在PHP中删除字符串的所有空格 我有一个字符串像$string=“这是我的字符串” 输出应该是“thisismystring” 我该怎么做呢?你是指空格还是全部空白 仅对于空格,请使用: 对于所有空格(包括制表符和行尾),请使用: (从)。如果要删除所有空白: $str=preg_replace('/\s+/',''$str) 请参见上的第5个示例。(注意,我最初是在这里复制的。) 编辑:评论者指出,如果你真的只想删除空格字符,str_replace比preg_replace更好,这是正确的

如何在PHP中删除字符串的所有空格

我有一个字符串
$string=“这是我的字符串”

输出应该是
“thisismystring”


我该怎么做呢?

你是指空格还是全部空白

仅对于空格,请使用:

对于所有空格(包括制表符和行尾),请使用:


(从)。

如果要删除所有空白:

$str=preg_replace('/\s+/',''$str)

请参见上的第5个示例。(注意,我最初是在这里复制的。)

编辑:评论者指出,如果你真的只想删除空格字符,
str_replace
preg_replace
更好,这是正确的。使用
preg\u replace
的原因是要删除所有空白(包括制表符等)。

也会这样做

$new_str = str_replace(' ', '', $old_str);

如果您知道空白是由空格造成的,则可以使用:

$string = str_replace(' ','',$string); 
$string = preg_replace('/\s+/','',$string);
但如果可能是由于空间原因,tab…您可以使用:

$string = str_replace(' ','',$string); 
$string = preg_replace('/\s+/','',$string);

»如果您不需要复杂的替换规则(如正则表达式),您应该始终使用此函数[
str_replace
],而不是
ereg_replace()
preg_replace()
。«我不建议使用正则表达式来简单地删除空间。str_replace表示仅空格,preg_replace表示所有空格。@Johannes&MasterPeter:同意,但OP在另一个答案上留下了一条评论,他想去掉空格。毫无希望地打破了这个答案,将删除2个或多个空格,而不是示例中要求的单个空格。不,它会删除一个或多个(加号表示“或多个”,而不是“多个”).另请参见:从技术上讲,这是一个与重复问题略有不同的问题。有时你可能想在没有制表符的情况下删除空格。如果你需要在Code Golf中获胜,下面是最短的方法:strtr($string,[''=>'')要仅从开始和结束剥离,请使用
修剪功能:首先,您不需要
+
<代码>$string=preg_replace('/\s/','$string)应该可以正常工作。这对我来说唯一不起作用的是不间断空格。我必须使用这个:
$string=preg_replace(“~\x{00a0}~”,“$string”)
以删除它们。多亏了这个stackoverflow答案:出于兴趣的新手问题:
space
whitespace
之间有什么区别?这不一样吗?@EchtEinfachTV space是单词之间的规则空格字符,空白是文本中的任何一种空格:规则空格、新行、制表符等。你需要@ButtleButkus的答案来清理所见即所得内容,其中包括不间断的空格。如果你在实施此解决方案后看到奇怪的新字符,您可能需要使用以下解决方案: