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

如何使用PHP向TXT文件中添加换行符?

解决PHP中向TXT文件追加内容时换行失效的问题

你遇到的核心问题是PHP中单引号与双引号对转义字符的解析规则不同:当你用单引号包裹'\n'时,PHP会把它当作普通字符串字面量直接写入文件,不会解析成换行符。

修复方案1:使用双引号包裹换行符

只需要把单引号替换成双引号,让PHP将\n解析为换行符:

function process_page($page) { 
    $html = get_html($page); 
    foreach($html->find("h1") as $div) { 
        $show = strip_tags($div); 
        // 单引号改为双引号,让\n被解析成换行符
        $data = "\n" . $show; 
        $ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX); 
        if($ret === false) { 
            die('There was an error writing this file'); 
        } else { 
            echo "$ret bytes written to file"; 
        } 
    } 
}

更稳妥的跨平台方案:使用PHP_EOL

如果你的代码需要在不同操作系统(Windows/Linux/macOS)运行,推荐用PHP_EOL常量,它会自动适配当前系统的换行规则(Windows是\r\n,类Unix系统是\n):

$data = PHP_EOL . $show;

优化建议:避免文件开头空行

上面的写法会在第一次写入时在文件开头添加空行,若想避免这个问题,可以把换行符放在内容末尾,每次追加「内容+换行」:

$data = $show . PHP_EOL;

这样第一个h1内容会从文件第一行开始,后续每条内容都会自动换行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:32:40