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

str*_*ade 593 php string spaces

可能重复:
在PHP中去除变量内的空格

我怎么能剥夺/删除所有空格一个的字符串在PHP?

我有一个像 输出应该是 的字符串$string = "this is my string";"thisismystring"

我怎样才能做到这一点?

Mar*_*ers 1316

你只是指空间或所有空格吗?

对于空间,使用str_replace:

$string = str_replace(' ', '', $string);
Run Code Online (Sandbox Code Playgroud)

对于所有空格,请使用preg_replace:

$string = preg_replace('/\s+/', '', $string);
Run Code Online (Sandbox Code Playgroud)

(从这里开始).

  • @EchtEinfachTV空间是单词之间的常规空格字符,空格是文本中的任何空间:常规空间,新行,制表符等 (48认同)
  • 感兴趣的新手问题:`space`和`whitespace`有什么区别?不一样吗? (39认同)
  • 1,你不需要`+`.`$ string = preg_replace('/\s /','',$ string);`应该可以正常工作.这对我来说唯一不起作用的是不间断的空间.我不得不使用这个:`$ string = preg_replace('〜\ x {00a0}〜','',$ string);`删除它们.感谢stackoverflow的回答:http://stackoverflow.com/a/12838189/631764 (37认同)
  • ` ` 是 HTML 字符串,您需要自行删除它。“空白”字符为 HT (9)、LF (10)、FF (12)、CR (13) 和空格 (32)。但是,如果发生特定于区域设置的匹配,则代码点在 128-255 范围内的字符也可能被视为空白字符,例如 NBSP (A0)。 (3认同)

Ark*_*ito 55

如果要删除所有空格:

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

请参阅preg_replace文档中的第5个示例.(注意我最初在这里复制了.)

编辑:评论者指出,并且是正确的,这str_replacepreg_replace你真正想要删除空格字符更好.使用的原因preg_replace是删除所有空格(包括制表符等).

  • »如果你不需要花哨的替换规则(比如正则表达式),你应该总是使用这个函数[`str_replace`]而不是`ereg_replace()`或`preg_replace()`.« (8认同)
  • 我不建议使用正则表达式进行简单的空间删除。str_replace 仅用于空格, preg_replace 用于所有空格。 (2认同)
  • 不,它将删除一个或多个(加号表示“或多个”,而不是“和多个”)。 (2认同)

cod*_*ict 34

如果您知道空白区域仅由空格所致,您可以使用:

$string = str_replace(' ','',$string); 
Run Code Online (Sandbox Code Playgroud)

但如果它可能是由于空间,标签......您可以使用:

$string = preg_replace('/\s+/','',$string);
Run Code Online (Sandbox Code Playgroud)


Dav*_*gie 15

str_replace会这样做

$new_str = str_replace(' ', '', $old_str);
Run Code Online (Sandbox Code Playgroud)