在 PHP 中使用 use "\n" 时没有换行

Not getting a new line when using use "\n" in PHP

我正在尝试使用 PHP 中的 \n 在我的网站上换行,但它不起作用。

这是我的代码:

if(isset($_POST['selected'])){
    $selected_val = $_POST['selected']; 
    // Storing Selected Value In Variable
    echo "\n";
    echo $selected_val;  // Displaying Selected Value
}

在网页上,在 <pre> 块之外,所有出现的制表符和换行符都被同化为单个 space。

例如:

echo "<pre>\n" . $selected_val . "</pre>";

但是如果您的代码用于调试目的,您最好使用 print_r 检查您的变量值。如:

echo "<pre>" . htmlspecialchars(print_r($select_val), true) . "</pre>";

htmlspecialchars 函数可以避免因内容可变而导致格式错误 HTML。

这基本上归结为将以下文本保存到 HTML 文件并期望它有视觉换行符:

one line
another line

要在 HTML 中创建视觉换行符,您需要 br 元素:

one line<br />
another line

所以用 echo '<br />'; 替换你的 echo "\n";

如果您有一个包含换行符的字符串,您可以使用 nl2br 中内置的 php 为您完成工作:

<?php

$string = 'one line' . "\n" . 'another line';
echo nl2br($string);

在回显时,使用 <br />

\n在HTML页面中不起作用,只能在源代码中,从命令行执行PHP或写入文本文件。

编写PHP代码时,需要区分两个不同的概念:

  1. 转到您生成的代码中的新行,您使用 "\n"
  2. 转到您制作的 HTML 网页中的新行,您使用 <br />

因此,选项 1 让您转到您生成的代码中的新行,但您不会转到您生成的 HTML 网页中的新行。同样,选项 2 使您转到您生成的 HTML 网页中的新行,但您不会转到您生成的代码中的新行。

如果您想在您的代码和HTML输出中转到中的下一行,您可以组合"\n"<br /> :

echo "<br />\n";