0

我知道在@this post之前已经问过这个问题,但我也试图在最后去掉空行。

我在用:

function removeEmptyLines($string)
{
return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string);
}

在任何组合中都可以很好地工作,但是:

 aadasdadadsad
 adsadasdasdas
 (empty line here)

我正在尝试对返回的数组执行 count() ,但由于它用 a 替换\n\n\,所以它不起作用。我在上面的帖子中尝试了其他一些示例,但没有一个有效。

我的其他功能(到目前为止)

function checkEmails($value) {

$value = removeEmptyLines($value);

$data = explode("\n", $value);
$count = count($data);

return $count;

 }

基本上它是一个表单的文本区域发布到自己,如果有人在整行之后点击输入,它仍然计算空白行。

任何帮助将非常感激,

谢谢!

特雷

4

3 回答 3

2

PHP 的trim函数默认执行此操作:

$string = trim($string);

如果您只想从字符串的开头或结尾剥离,ltrim()您也可以使用其中一个。rtrim()

于 2012-05-30T10:48:30.187 回答
1

尝试:

preg_replace('/^[\r\n]+|[\r\n]+$/m', '', $string);

看到它工作

如果您还想从行中去除前导/尾随空格,请将出现的两个替换[\r\n]\s。另请注意,我单引号的表达式字符串这一事实很重要。

于 2012-05-30T10:55:59.687 回答
0

您可以改为使用

rtrim($string, "\n");
于 2012-05-30T10:45:03.443 回答