2

当我在 textarea 中按 enter 时,它会转到一个新行,但是在提交 textarea 时该新行不会显示。我该如何进行这项工作?它应该很简单,但从我搜索和尝试的结果来看,它失败了。

<textarea style="{ white-space:pre; }"; name="texts" rows="3" cols="40"></textarea>

$texts = $_POST['texts'];
4

2 回答 2

4

我认为您正在寻找该nl2br()功能。

nl2br()

于 2012-05-01T19:38:58.783 回答
1

问题可能是新行出现了,但是您将其输出为 html,因此它不会保留该新行。当您输出为 html 时,您需要将换行符转换为中断标记。你可以这样做:

//editing per comment advice. Apparently this method shouldn't be used since it doesn't replace all possible newline representations, although I dont remember having an issue with it.
//$string = str_replace("\n", "<br />", $string);
//as others mentioned, this is better and easier:
$string = nl2br($string);

也许我误解了这个问题,但这就是我从中得到的。

于 2012-05-01T19:37:50.453 回答