我在 PHP 中遇到了一些奇怪的行为。我有来自输入的一串文本,<textarea/>
似乎:
$text = str_replace(array("\r\n", "\r", "\n"), null, $text);
成功删除换行符,而
$text = str_replace("\n", " ", $text)
$text = str_replace("\r\n", " ", $text)
$text = str_replace("\r", " ", $text)
编辑:上面的三个 str_replace 调用用于 \n、\r\n 和 \r
没有成功删除换行符。我什至尝试添加:
$text = str_replace(PHP_EOL, " ", $text);
但这并不能解决问题。我知道我正在用空格而不是 null 替换换行符,但我希望这也能工作。在进行 3-4 次 str_replace() 调用后,如果我:
echo nl2br($text);
它实际上确实找到了一些剩余的换行符。
有任何想法吗?