1

我遇到了“\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 和 Google Chrome 中进行了测试。

我还尝试连接“\n”字符,并在黑暗中拍摄,甚至尝试使用正斜杠而不是反斜杠(我知道它不起作用,但我现在很沮丧) . 我敢打赌这很简单,但我看不出还有什么可能。先谢谢了。

4

2 回答 2

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 />

于 2012-08-10T01:29:47.987 回答
1

使用 PHP_EOL 常量代替\n并收工。

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

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

于 2012-08-10T01:29:50.083 回答