如何从字符串中删除多个空白行。 我已经查看了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));
答案 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);