Example Text: This will be stored in the $_POST['x'] variable
This is sentence one.
This is sentence two.
This is sentence three.
如果我运行下面的代码,它将返回一个只有一个元素的数组
$x= mysqli_real_escape_string($db, $_POST['x']);
$y= preg_split("/(rn|n|r)/", $x);
但如果我在下面运行这段代码,它将正确地将其拆分为所有3个元素。
$x = $_POST['x'];
$y= preg_split("/(rn|n|r)/", $x);
其他人经历过这种现象吗?为什么会发生这种情况?
http://php.net/mysqli-real-escape-string
编码的字符是NUL(ASCII 0(、\n、\r、\、'、"和Control-Z。
这意味着换行符变为\n
(LF(、\r
(CR(和\r\n
(CRLF(。因此,它们不再与正则表达式匹配。
在未来,RTM;(