如何正确显示具有HTML格式和文本格式的数据库中的文本


How to correctly display text from db which has HTML formatting and text formatting

我在数据库中有文本,如下所示:

<p>
blah blah
blah
</p>

当我从数据库中获取文本并显示它时,我可以获取<p></p>来留出段落空间,但blah行之间的段落不会显示。

当我试图让它一起工作时,我会在按回车键的自然新行和<p>的新行之后出现新行,所以段落之间的空间太大。

有没有办法确保两种格式化方式都能很好地协同工作?

您可以使用:

echo nl2br($db_string);

我认为正确的方法是修复HTML。这似乎不是PHP的问题。您说要显示第一行blah blah和第二行blah之间的空间。我会把它重写为:

<p>
    blah blah
</p>
<p>
    blah
</p>

您可以应用此css规则

p {
    white-space: pre;
}

如果这样做,那么就不需要对字符串本身进行任何转换。