You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP读取文件时如何保留原文件中的多余空格?

问题描述

原文件内容:

I       int result = 2 * n;
        result = result + 1;

II      int result = n + 1;
        result = result * 2;

III     int result = (n + 1) * 2;

使用以下PHP代码读取输出:

while(!feof($myfile)) {
    
    $line =  fgets($myfile) ;
    echo $line . "<br>";
}

当前输出(多余空格被合并):

I int result = 2 * n;
result = result + 1;

II int result = n + 1;
result = result * 2;

III int result = (n + 1) * 2;

需求:保留文本中的多余空格,让输出间距和原文件一致。

解决方案
  • 使用<pre>标签包裹输出
    HTML默认会把多个连续空格合并成一个,而<pre>标签会完整保留文本的原始格式,包括空格、换行、缩进。修改代码如下:
echo "<pre>";
while(!feof($myfile)) {
    $line = fgets($myfile);
    echo $line;
}
echo "</pre>";

不需要再手动添加<br>,<pre>会自动识别原文本的换行符。

  • 将空格替换为非断空格&nbsp;
    如果不想用<pre>标签,可以把文本里的普通空格替换成HTML非断空格字符&nbsp;,浏览器就不会合并连续空格。代码修改如下:
while(!feof($myfile)) {
    $line = fgets($myfile);
    echo str_replace(' ', '&nbsp;', $line) . "<br>";
}

这种方式适合需要自定义排版的场景,但对于代码类内容,<pre>的可读性和简洁性更强。

内容的提问来源于stack exchange,提问作者DCR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:07:05