如何使用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
相关产品推荐
相关产品推荐

