如何在PHP中读取TXT文件内容并输出时保留换行符?
解决PHP读取文本文件后网页不显示换行的问题
问题根源:文本文件中的换行是换行符(\n),但HTML渲染时会将连续的空白(包括换行、空格)合并为单个空格,所以原本的多行内容会显示成一行。
以下是两种最简单的解决方法:
方法一:使用nl2br()函数转换换行
nl2br()是PHP专门用来将换行符转换为HTML换行标签<br>的内置函数,直接修改输出代码即可:
<?php $bestand = fopen("tekst.txt", "r"); $tekst = fread($bestand, filesize("tekst.txt")); fclose($bestand); echo "<p style=' margin-top: 5%; color: #04AA6D; font-weight: bold; text-align: center; ' id='tekst'>" . nl2br($tekst) . "</p>"; ?>
这个方法会把文本里的每一个换行都替换成<br>,在<p>标签内实现换行,符合常规网页排版。
方法二:用<pre>标签保留原格式
<pre>是HTML的预格式化标签,会完全保留文本的原有格式(包括换行、空格),只需把原来的<p>标签换成<pre>即可:
<?php $bestand = fopen("tekst.txt", "r"); $tekst = fread($bestand, filesize("tekst.txt")); fclose($bestand); echo "<pre style=' margin-top: 5%; color: #04AA6D; font-weight: bold; text-align: center; ' id='tekst'>" . $tekst . "</pre>"; ?>
这个方法不需要修改文本内容,适合需要严格保留原文件格式的场景。
内容的提问来源于stack exchange,提问作者Bo Dijkhuizen
相关产品推荐
相关产品推荐

