用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