PHP读取文本文件逐行换行显示求助(不使用iframe)
解决文本内容逐行上下排列的问题
我看了你的代码和需求,目前的问题大概率是HTML不会自动识别文本里的普通换行符,或者你的文本文件内容是用逗号分隔在同一行里的,导致输出没按你想要的逐行排列。给你两个针对性的解决方案:
方案1:如果文本文件本身是每行一条内容
你的代码已经能正确读取每行,但HTML会忽略文本中的换行符,所以需要把文本换行转换成HTML的换行标签<br>。只需要把echo $line;改成echo nl2br($line);就行,这个函数会自动把文本里的换行符替换成<br>,在页面上就能显示成上下排列的行:
<td> <?php $handle = fopen("textfilelocation/$text.txt", "r"); if ($handle) { while (($line = fgets($handle)) !== false) { echo nl2br($line); // 用nl2br转换文本换行为HTML换行 } fclose($handle); } else { echo "Error accessing Tracking Data"; } ?> </td>
方案2:如果文本文件内容是逗号分隔的单一行(比如Hello,World,Test...)
如果你的文本文件里是类似Hello,World,Example这样的单行内容,需要把逗号分隔的部分拆成逐行显示,那可以先读取整个文件内容,再用explode分割,然后循环输出:
<td> <?php $fileContent = file_get_contents("textfilelocation/$text.txt"); if ($fileContent !== false) { // 按逗号分割内容 $lines = explode(',', $fileContent); foreach ($lines as $line) { echo trim($line) . "<br>"; // 去掉多余空格后添加HTML换行标签 } } else { echo "Error accessing Tracking Data"; } ?> </td>
这样不管是哪种情况,都能实现不用iframe,把内容逐行上下排列显示的效果啦。
内容的提问来源于stack exchange,提问作者Time
相关产品推荐
相关产品推荐

