PHP - 删除多余的空格但不删除新行

标签 php regex newline whitespace trim

我一直在寻找一种方法来从字符串中删除多余的空格(也就是说,如果 2 个或更多空格彼此相邻,则只保留 1 个并删除其他空格),我找到了这个 Remove excess whitespace from within a string我想使用这个解决方案:

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

但这也会删除新行,而我想保留它们。 有没有办法在删除多余空格的同时保留换行符?

最佳答案

http://www.php.net/manual/en/regexp.reference.escape.php 定义 \h 任何水平空白字符(自 PHP 5.2.4 起) 所以你可能正在寻找

$foo = preg_replace( '/\h+/', ' ', $foo );

示例:http://ideone.com/NcOiKW

关于PHP - 删除多余的空格但不删除新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16725894/

相关文章:

php - 连接三张表-mysql

PHP 批处理

regex - 使用 sed 时的多个条件

php - 为什么我拉不到这个字段? php/mysql

PHP+MySql : select row by like ( with and without space )

用 Prolog 编写的 RegEx 解析器

python - 在 Pandas 数据帧上使用正则表达式的新列的多个条件

haskell - Haskell 中的新行

php - NSURL with\n 调用 php 文件

html - 为什么带有换行符的 PRE 元素不会在输出中产生空行?