远程服务器上PHP脚本中的新行字符无法正常工作

时间:2012-08-10 01:27:21

标签: php newline echo

我遇到“\ n”字符无效的问题。我意识到使用简单的echo语句测试变量输出时它不起作用。我尝试过几种不同的方式接近新的线路角色,看看它是否只是我,但我尝试过的任何工作都没有。以下是我做过的一些尝试的例子:

<?php

    // Establish Connection to Taskaro DB
    require "../_connections/connection_taskDB.php";

    // Start Session
    session_start();

    // Create Session Variables
    $_SESSION['userID'];
    $_SESSION['companyID'];
    $_SESSION['usernameDB'];

    // Convert Session Variables to page variables
    $userID = $_SESSION['userID'];
    $currentUser = $_SESSION['usernameDB'];
    $editType = $_REQUEST['editType'];
    $projectID = $_REQUEST['projectID'];

    // Testing if new line character is working
    echo "hello, Mr. New Line!\n\r";
    echo "This line should be below 'hello, Mr. New Line!'";

    // Testing variable and session connection
    echo "SESSION VARIABLES:"."\\n\n"."userID = {$userID}";
    echo "userID = {$userID}"."/n";
    echo "currentUser = {$currentUser}"."\r";
    echo "companyID = {$companyID}\n\r";
    echo "\nPOST VARIABLES:\n";
    echo "editType = {$editType}\n";
    echo "projectID = {$projectID}\n";


?>

我读了一些其他类似问题的溢出问题,但没有一个问题解决我的问题。该项目位于已安装php的远程服务器(GoDaddy)上。该文档具有正确的文件扩展名(.php)。我在Dreamweaver中编码并上传我的脚本进行测试。从代码中你可以看到我试过“\ n”,“\ n \ r”,“\ r”。我也在Firefox和谷歌Chrome中进行了测试。

我还尝试连接“\ n”字符,并在黑暗中拍摄,甚至尝试使用正斜杠而不是反斜杠(我知道它不起作用,但我对此感到非常沮丧这点)。我敢打赌这很简单,但我不知道还有什么可能。谢谢你提前。

2 个答案:

答案 0 :(得分:4)

如果您查看页面的来源,您将看到所有这些值在不同的行上输出。

如果您要在浏览器中查看该文件,则需要使用换行符(<br />),如果您希望文本显示在不同的行上。 HTML忽略了有关演示文稿的换行符。

echo "hello, Mr. New Line!\n";
echo "This line should be below 'hello, Mr. New Line!'";

查看源代码时,上述两个文本字符串将分开显示。在浏览器中查看时,它们将显示在同一行。

echo "hello, Mr. New Line!\n<br />";
echo "This line should be below 'hello, Mr. New Line!'";

查看源代码时,由于\n,上述两个文本字符串将位于不同的行上。在浏览器中查看时,由于HTML中断<br />

,它们也将位于不同的行中

答案 1 :(得分:1)

使用PHP_EOL常量而不是\n并将其称为一天。

此外,它是\r\n,而不是相反。

如果您希望浏览器将新行字符呈现为HTML中的新行,则不会发生这种情况。您需要使用<br>标记。