替换php中的空行

时间:2011-11-01 20:03:43

标签: php

如何从字符串中删除多个空白行。 我已经查看了stackoverflow上的示例,并尝试相应地更改我的代码,但我没有得到正确的答案。

function removeMultipleBlankLines(&$array)
{
  $value = $array;
  $value = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $value);

  return $value;
}

  $textarray=array("The red","big","  ","  ","fox","is ready","","","to jump.");

  echo print_r(removeMultipleBlankLines($textarray));

6 个答案:

答案 0 :(得分:4)

你可以这样做:

$array_with_nonblank_lines = array_filter($textarray, 'trim');

准确地得到你想要的东西。

以下是php's docs page about trim function的链接,可以完成这项工作。

答案 1 :(得分:2)

为什么不$string = trim($string);

您甚至可以使用第二个可选参数指定要剪裁的内容,即trim ( string $str [, string $charlist ] ),请参阅文档http://php.net/manual/en/function.trim.php

答案 2 :(得分:2)

也对它进行修剪:

   function removeMultipleBlankLines(&$array) {
      return trim(preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $array));
    }

答案 3 :(得分:0)

使用正则表达式可以正常工作,但是一些不熟悉正则表达式的人可能会对如何布置表达式感到困惑。在我看来,使用熟悉的trim命令只是一个更好的选择,但最后我认为修剪会更快,因为它不需要评估正则表达式等。

答案 4 :(得分:0)

试试这个:

$str =preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\r\n", $str);

输出文件将在简单的记事本和文本编辑器上提供相同的输出,例如Notepad ++。

答案 5 :(得分:-1)

试试这个:

$string = str_replace("\r\n",'',$string);