Php 使用htmlspecialchars包含换行符

Php 使用htmlspecialchars包含换行符,php,htmlspecialchars,Php,Htmlspecialchars,我正在创建一个类似于列表的模式库,如下所示:。我使用以下代码片段获取HTML文件的内容,并将其输出到页面上。请参见列表中的代码区域,我们的示例: echo "<code class=\"col-md-8 col-sm-6 prettyprint pattern-markup language-markup\">".htmlspecialchars(@file_get_contents($dir.'/'.$ff))."</code>\n"; 它正在拉入代码,但正在剥离HT

我正在创建一个类似于列表的模式库,如下所示:。我使用以下代码片段获取HTML文件的内容,并将其输出到页面上。请参见列表中的代码区域,我们的示例:

echo "<code class=\"col-md-8 col-sm-6 prettyprint pattern-markup language-markup\">".htmlspecialchars(@file_get_contents($dir.'/'.$ff))."</code>\n";
它正在拉入代码,但正在剥离HTML中的所有换行符,以便代码一起运行。是否可以将换行符添加回代码视图?我知道nl2br是一个选项,但如果我是在视觉模式下输出HTML,而不是代码,它就可以工作


谢谢

这与剥离换行无关,而与基本HTML的工作方式有关

试试这个:

<p>Hello





World</p>
你看到新线了吗?没有


尝试将CSS空白:预包装应用于元素。

这与换行无关,而与基本HTML的工作方式有关

试试这个:

<p>Hello





World</p>
你看到新线了吗?没有

尝试将CSS空白:预包装应用于元素。

只需使用预标记,一切都会正常工作。但是把这样的代码

只要使用预标签,一切都会很好。但是把这样的代码


我看不到有什么东西在剥离新线。如果您的预期输出是HTML,那么nl2br是正确的。此外,在使用@时要小心。在这种情况下,没有必要使用@。是否存在文件?如果您不确定,请检查该文件是否可读。@FritsvanCampen谢谢您的回复。如果你看一个列表分开的例子,它似乎不是剥离新行,这是我想要的。当我在上面使用相同的代码时,它正在剥离新行。我没有看到任何剥离新行的内容。如果您的预期输出是HTML,那么nl2br是正确的。此外,在使用@时要小心。在这种情况下,没有必要使用@。是否存在文件?如果您不确定,请检查该文件是否可读。@FritsvanCampen谢谢您的回复。如果你看一个列表分开的例子,它似乎不是剥离新行,这是我想要的。当我在上面使用相同的代码时,它正在剥离新行。啊哈,这是一个CSS解决方案。我都没想到。非常感谢你的帮助,这太完美了!啊哈,这是一个CSS解决方案。我都没想到。非常感谢你的帮助,这太完美了!