Windows和Linux上的PHP_EOL

Windows和Linux上的PHP_EOL,php,linux,newline,Php,Linux,Newline,在我的web应用程序中,我创建了一个公式,它使用文本区域获取ID列表(十六进制)。用户必须在输入每个ID后按return将它们分开 <label class="col-md-3 control-label" for="id_list">IDs: </label> <div class="col-md-9> <textarea class="form-control" id="id_list" name="id_list" required>

在我的web应用程序中,我创建了一个
公式
,它使用
文本区域
获取ID列表(十六进制)。用户必须在输入每个ID后按
return
将它们分开

<label class="col-md-3 control-label" for="id_list">IDs: </label>
<div class="col-md-9>
    <textarea class="form-control" id="id_list" name="id_list" required></textarea>
</div>
IDs:
这应该可以,您可以在“\n”上爆炸并修剪任何剩余的“\r”(如果有)


这应该是可行的,您可以在“\n”上分解并修剪任何剩余的“\r”(如果有)。

我建议您使用
preg\u split
,因此正则表达式:

$id_array = preg_split('#[\s,]+#Sui', $id_list);

所以你有一个ID数组,不管输入格式是什么。您可以在(php.net)中检查此函数的手动输入。

我建议您使用
preg\u split
,因此正则表达式:

$id_array = preg_split('#[\s,]+#Sui', $id_list);
所以你有一个ID数组,不管输入格式是什么。您可以在(php.net)中检查此函数的手动输入。

我实际上(几乎)得到了正确的答案\r\n在这两个系统上都有效,但我只是犯了一个错误,将它们放在
'
(单引号)中,因为此处应该使用
'
(双引号):

explode("\r\n", $id_list)
str_replace("\r\n", ',', $id_list)
它现在可以在Windows和Linux上运行。

我实际上(几乎)找到了正确的答案\r\n在这两个系统上都有效,但我只是犯了一个错误,将它们放在
'
(单引号)中,因为此处应该使用
'
(双引号):

explode("\r\n", $id_list)
str_replace("\r\n", ',', $id_list)

它现在可以在Windows和Linux上运行。

您是否尝试转义换行符?e、 g.
\\r\\n
?你试过使用
nl2br()
函数吗?如果我读对了文本区域中的换行符,则总是(无论哪个操作系统)作为
“\r\n”
发送。我刚刚发现了我的错误,这是一个愚蠢的错误\r\n在Windows和Linux上都可以正常工作。但是我需要把它们放在
中,而不是
。在我改变了这一点之后,一切都很好。奇怪的是,有人在平台和PHP上都遇到了“\r\n”问题,建议使用PHP\u EOL作为解决方案,但这里正好相反。自2011年以来有什么变化吗?你有没有尝试转义换行符?e、 g.
\\r\\n
?你试过使用
nl2br()
函数吗?如果我读对了文本区域中的换行符,则总是(无论哪个操作系统)作为
“\r\n”
发送。我刚刚发现了我的错误,这是一个愚蠢的错误\r\n在Windows和Linux上都可以正常工作。但是我需要把它们放在
中,而不是
。在我改变了这一点之后,一切都很好。奇怪的是,有人在平台和PHP上都遇到了“\r\n”问题,建议使用PHP\u EOL作为解决方案,但这里正好相反。2011年以来有什么变化吗?