PHP:使用正则表达式从字符串中删除额外的空格

7
我该如何使用正则表达式(preg_replace)去除字符串末尾的额外空格?
$string = "some random text with extra spaces at the end      ";
4个回答

18

这里不需要使用正则表达式,你可以使用rtrim来进行操作,它更加简洁和快速:

$str = rtrim($str);

但如果你想要一个基于正则表达式的解决方案,你可以使用:

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

使用的正则表达式是/\s*$/

  • \s代表任何空格字符,包括空格。
  • *表示重复零次或多次。
  • $表示匹配字符串结尾的位置。

基本上,我们将尾随的空格字符替换为'',从而有效地将它们删除。


你可以使用 + 量词代替 * 量词,以避免将空内容替换成空内容。 - Toto

10

嘿,我也想知道,+1 来让宇宙回归正轨。 - Gazler
+1 因为这个答案可能不太吸引人,但是是正确的! - Gombo

4

1

抱歉...漏掉了“在结尾处”。正如其他人指出的那样...使用rtrim()函数。 - Don
@LarsH,我不想将其编辑成与其他内容相同的格式,以防trim()选项可能适用于未来的搜索者,但接受您的意见...谢谢。 - Don

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接