PHP 在使用 echo 显示存储在 mysql 中的文本时忽略换行符

use*_*524 3 php mysql newline echo

我正在开发一个票务系统,其中有一个部分是用户在文本区域中输入他/她的评论。整个文本(包括新行),无论你按多少次ENTER,都存储在mysql中,我在使用phpMyAdmin查看记录时检查过。但不幸的是,在 PHP 中“echo”它会忽略换行符。比如说,如果我输入这段文本,

你好

你好

如何

你是

当回显时,它是这样的:

嗨你好你好吗

它忽略换行符并将其转换为空格。我该如何解决这个问题?

Jus*_*nas 5

这是因为浏览器忽略新行(它是<br/>浏览器中新行的标记,而不是\r\n)。要将新行转换为中断标记,请使用nl2br($stringFromDb);


Abe*_*awa 5

它不是PHP,在HTML:新行是一个标签,而不是一个字符,你可能想尝试这个:

echo('HI<br>');
echo('Hello<br>');
...
Run Code Online (Sandbox Code Playgroud)

或者,如果 1 个字符串中有这些单词,您可以将换行符转换为br标签:

$str = "HI
HELLO";
echo nl2br($str);
Run Code Online (Sandbox Code Playgroud)