简单,是吧?嗯,这是行不通的:-\

$skuList = explode('\n\r', $_POST['skuList']);

当前回答

试试“\n\r”(双引号)或者“\n”。

如果您不确定您拥有哪种类型的EOL,在爆炸之前运行str_replace,将“\n\r”替换为“\n”。

其他回答

try

explode(chr(10), $_POST['skuList']);

虽然不完美,但我认为这是最安全的。添加nl2br:

$skuList = explode('<br />', nl2br($_POST['skuList']));

首先,我认为通常是\r\n,其次,这些在所有系统中都不一样。这只对窗口有效。试图弄清楚如何替换新行有点烦人,因为不同的系统对它们的处理不同(见这里)。你可能会有更好的运气只\n。

看起来很简单

$skuList = explode('\\n', $_POST['skuList']);

你只需要传递准确的文本“\n”,直接写“\n”被用作转义序列。输入"\\"传递一个简单的反斜杠然后输入"n"

这个方法对我来说总是有效的:

$uniquepattern="@#$;?:~#abcz"//Any set of characters which you dont expect to be present in user input $_POST['skuList'] better use atleast 32 charecters.
$skuList=explode($uniquepattern,str_replace("\r","",str_replace("\n",$uniquepattern,$_POST['skuList'])));