如何在PHP中去掉字符串中的所有空格?
如何在PHP中删除字符串的所有空格 我有一个字符串像如何在PHP中去掉字符串中的所有空格?,php,string,spaces,Php,String,Spaces,如何在PHP中删除字符串的所有空格 我有一个字符串像$string=“这是我的字符串” 输出应该是“thisismystring” 我该怎么做呢?你是指空格还是全部空白 仅对于空格,请使用: 对于所有空格(包括制表符和行尾),请使用: (从)。如果要删除所有空白: $str=preg_replace('/\s+/',''$str) 请参见上的第5个示例。(注意,我最初是在这里复制的。) 编辑:评论者指出,如果你真的只想删除空格字符,str_replace比preg_replace更好,这是正确的
$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的答案来清理所见即所得内容,其中包括不间断的空格。如果你在实施此解决方案后看到奇怪的新字符,您可能需要使用以下解决方案: