Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php preg_replace移除尾随线_Php_Preg Replace_Eol - Fatal编程技术网

用php preg_replace移除尾随线

用php preg_replace移除尾随线,php,preg-replace,eol,Php,Preg Replace,Eol,我知道以前有人问过这个问题,但我也在试图去掉结尾的空行 我正在使用: function removeEmptyLines($string) { return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string); } 在任何组合中都非常有效,但: aadasdadadsad adsadasdasdas (empty line here) 我试图对返回的数组执行count(),但由于它将\n替换为\n\,因此无

我知道以前有人问过这个问题,但我也在试图去掉结尾的空行

我正在使用:

function removeEmptyLines($string)
{
return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string);
}
在任何组合中都非常有效,但:

 aadasdadadsad
 adsadasdasdas
 (empty line here)
我试图对返回的数组执行count(),但由于它将
\n
替换为
\n\
,因此无法工作。在上面的文章中,我尝试了一些其他的例子,但都没有成功

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

基本上是一个表单的文本区域,而如果有人在一个完整的行后点击输入,它仍然计算空行。

任何帮助都将不胜感激

谢谢

Tre

您可以使用

rtrim($string, "\n");
您可以使用

rtrim($string, "\n");
默认情况下,PHP函数会执行以下操作:

$string = trim($string);
如果只想从字符串的开头或结尾删除,也可以使用
ltrim()
rtrim()

PHP函数默认情况下会执行此操作:

$string = trim($string);
如果您只想从字符串的开头或结尾剥离,也可以使用
ltrim()
rtrim()

尝试:

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

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

请尝试:

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


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

您不是在尝试发明一个等价的ltrim函数吗?您不是在尝试发明一个等价的ltrim函数吗?您不能用单引号引用,因此只有用双引号引用它才能起作用。问题中的代码剥离了更多字符,而不仅仅是\n您不能单引号\n,因此只有在您将其双引号的情况下,这才有效。问题中的代码正在剥离更多的字符,而不仅仅是\n