How to strip all spaces out of a string in php?
Possible Duplicate:
To strip whitespaces inside a variable in PHP
如何在PHP中删除字符串的所有空格?
我有一根像EDOCX1[0]的绳子输出应为"thisismystring"。
我该怎么做?
- See also:stackoverflow.com/questions/1279774/…
- 技术上,这是一个很小的不同的问题。有时候你可能想在没有禁忌的情况下脱衣舞空间。
- 这是做这件事的最短的方式,以你以前需要的高尔夫球代码为例。
你的意思是空格还是全是空格?
对于仅限空格,请使用str_replace:
对于所有空白(包括制表符和行尾),请使用preg_replace:
(从这里)。
- 第一,你不需要+。$string = preg_replace('/\s/', '', $string);应该工作得很好。这对我来说唯一不起作用的就是不间断的空间。我不得不用这个:$string = preg_replace('~\x{00a0}~','',$string);把它们移走。多亏了这个stackoverflow答案:stackoverflow.com/a/12838189/631764
- 不感兴趣的新手问题:space和whitespace有什么区别?是不是一样?
- @echtenfachtv space是单词之间的规则空格字符,空白是文本中的任何一种空格:规则空格、换行符、制表符等。
- 您需要@buttlebutkus的答案来清除所见即所得内容,其中包括不间断空格。
- 如果在实现此解决方案后看到奇怪的新字符,则可能需要使用此处找到的解决方案:stackoverflow.com/q/1176904/80857
- 这似乎不能删除 字符。
- 是HTML字符串,您需要自己删除它。"空白"字符是ht(9)、lf(10)、ff(12)、cr(13)和space(32)。但是,如果发生特定于区域设置的匹配,代码点在128-255范围内的字符也可以被视为空白字符,例如,nbsp(a0)。
- 修剪应进行空间的左右修剪。大多数情况下,您希望删除多个空间。因此,最好结合使用trim和regex。例如:$txt='Hello World!';$TXT=trim(preg_replace('/s 2+/','$TXT));echo'.$TXT.'';我很惊讶,这是一个常见的php api没有为它提供解决方案。
如果要删除所有空白:
$str = preg_replace('/\s+/', '', $str);
请参阅preg_replace文档中的第5个示例。(注意,我最初是在这里复制的。)
编辑:评论指出,如果你真的想删除空格字符,那么str_replace比preg_replace更好,这是正确的。使用preg_replace的原因是删除所有空白(包括制表符等)。
- »;如果不需要花哨的替换规则(如正则表达式),则应始终使用此函数[str_replace,而不是ereg_replace()或preg_replace()&171;
- 我不建议使用正则表达式来简单地删除空间。str_只替换空格,preg_替换所有空格。
- @约翰内斯·马斯特彼得:同意,但该组织对另一个他想去除空白的答案发表了评论。
- 说得好,约翰内斯。我之所以选择preg_replace(),是因为我误解了这个问题,并且认为他通常指的是空格(不一定是特定的空格字符)。
- 无望地打破这一个,将删除2个或更多的空白,而不是单个,如示例中所要求的。
- 不,它删除一个或多个(加号表示"或多个",而不是"和多个")。
如果您知道空白仅由空格引起,则可以使用:
但如果可能是由于空间的原因,可以使用:
str ou replace会成功的