确定PHP中的换行符返回方法
在PHP中检测换行符返回方法的最佳方法是什么。CR、LF或CR+LF确定PHP中的换行符返回方法,php,newline,Php,Newline,在PHP中检测换行符返回方法的最佳方法是什么。CR、LF或CR+LF 如果可能,将其转换为指定类型。这将测试字符串的换行符(CR或LF): (\r表示CR,\n表示LF) 你可以用同样的想法来转化他们。例如,此函数将所有CR转换为给定字符串中的LFs: function replace_returns($string) { return str_replace("\r", "\n", $string); } 检查字符串中的换行符类型。未找到换行符时返回0 要规范化/标准化所有换行符,请
如果可能,将其转换为指定类型。这将测试字符串的换行符(CR或LF): (
\r
表示CR,\n
表示LF)
你可以用同样的想法来转化他们。例如,此函数将所有CR转换为给定字符串中的LFs:
function replace_returns($string)
{
return str_replace("\r", "\n", $string);
}
检查字符串中的换行符类型。未找到换行符时返回0
要规范化/标准化所有换行符,请使用以下函数:
function newline_convert($string, $newline)
{
return str_replace(array(NL_WIN, NL_MAC, NL_NIX), $newline, $string);
}
希望有帮助 常量
PHP_EOL
包含特定于平台的换行符。您可以执行$string=nl2br($string),以便将换行符更改为
<br />.
。
然后您可以操纵字符串,例如,通过第一次出现
<br />
像这样:
list($first, $second) = explode('<br />', $string, 2);
list($first,$second)=分解('
',$string,2);
我认为您编写的replace_returns($string)在跨平台上运行良好。想象一下\r\n(Windows中的单个换行符),它将被转换为\n\n(*nux中的两个换行符!)我理解你的观点,但我的目的不是想象OP的每个情况,而是为他指出正确的方向。我喜欢你函数的想法,但它们有点冗长。在换行类型中,为什么不在每个if
之后返回,而不是将其存储为$result
?然后只返回0代码>在末尾。不需要变量。使用newline\u convert
,为什么不将返回str\u replace…
?@Josh-拆分代码是一种很好的做法。更容易调试什么的。我已经习惯了,因为我学到了教训——找出哪里出了问题等等。如果你把它们合并成一行也没关系,但是“良好实践”和不必要的冗长是有区别的。例如,在第一个函数中,您创建了一个全新的变量来存储不需要存储的内容。我看不出(在这种情况下)它是如何让事情变得更清楚的;如果有什么不同的话,那只是让事情变得更复杂。只是一些值得思考的东西哦,更新得很好。我希望使用单个返回并将返回值存储到$result
中的原因是我认为可以检测多个换行符类型并进行组合。e、 g.如果字符串中有“\r\n”和“\n”,它将返回(2和4)
。这是最好最简单的检查方法。我使用以下代码来分隔textarea的行:$somearray=explode(PHP_EOL,$sometext);请注意,文本区域的行数取决于客户端换行符。因此,在这种情况下,我不建议您使用PHP\u EOL
<br />
list($first, $second) = explode('<br />', $string, 2);