PHP 回显换行符

2022-08-30 11:04:19

\n 和 \r 之间有什么区别(我知道它与操作系统有关),以及回显跨平台工作的换行符的最佳方法是什么?

编辑:作为对 Jarod 的回应,我将使用 ths 来回显.txt日志文件中的换行符,尽管我确信将来会用它来回显 HTML makup 到页面上。


答案 1

使用常量,该常量自动设置为运行 PHP 脚本的操作系统的正确换行符。PHP_EOL

请注意,此常量是从 PHP 5.0.2 开始声明的。

<?php
    echo "Line 1" . PHP_EOL . "Line 2";
?>

为了向后兼容:

if (!defined('PHP_EOL')) {
    switch (strtoupper(substr(PHP_OS, 0, 3))) {
        // Windows
        case 'WIN':
            define('PHP_EOL', "\r\n");
            break;

        // Mac
        case 'DAR':
            define('PHP_EOL', "\r");
            break;

        // Unix
        default:
            define('PHP_EOL', "\n");
    }
}

答案 2
  • \n是 Linux/Unix 换行符。
  • \r是经典的 Mac OS(非 OS X)换行符。Mac OS X使用上述unix。\n
  • \r\n是一个 Windows 换行符。

我通常只在我们的Linux系统上使用,大多数Windows应用程序无论如何都可以处理它。\n


推荐