使用 php_eol 常量或 nl2br() 函数处理换行符,可确保日志在 windows、linux 和 macos 上正常显示。若需跨平台统一格式,推荐用 str_replace(array("\r\n", "\r"), "\n", $log) 标准化为 unix 风格;若需在 html 中查看,则用 nl2br() 将换行转为 <br>。

PHP_EOL 在不同系统下的实际值是什么
PHP_EOL 是 PHP 提供的内置常量,其值随运行环境自动适配:Windows 下为 \r\n,Linux/macOS 下为 \n。它适用于生成纯文本日志,但无法保证跨平台一致性,因为不同系统对换行的解析不同。

echo PHP_EOL; // Windows: \r\n, Linux: \n
如何标准化日志中的换行符以兼容所有平台
为确保日志在任何平台上显示一致,应将所有换行符统一替换为 \n(Unix 标准)。使用 str_replace() 可同时处理 \r\n 和 \r,避免旧版 Windows 日志残留的 \r 导致显示异常。
立即学习“PHP免费学习笔记(深入)”;

$log = str_replace(array("\r\n", "\r"), "\n", $rawLog);
HTML 日志中换行符如何正确渲染
当日志内容嵌入 HTML 页面时,原始换行符会被浏览器忽略。使用 nl2br() 可将每个 \n 替换为 <br>,从而在网页中正确显示多行内容。注意:nl2br() 不会转义 HTML 标签,若日志含用户输入,需先调用 htmlspecialchars() 防止 XSS。



















