我遇到“\ 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”字符,并在黑暗中拍摄,甚至尝试使用正斜杠而不是反斜杠(我知道它不起作用,但我对此感到非常沮丧这点)。我敢打赌这很简单,但我不知道还有什么可能。谢谢你提前。
答案 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>
标记。