在PHP中使用“\ n”时没有获得新行

时间:2016-02-12 15:25:40

标签: php html newline

我正在尝试在PHP中使用\n在我的网站上获得一个新行,但它无效。

这是我的代码:

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

4 个答案:

答案 0 :(得分:3)

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

one line
another line

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

one line<br />
another line

请将echo "\n";替换为echo '<br />';

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

<?php

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

答案 1 :(得分:2)

在回声中,使用<br />

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

答案 2 :(得分:0)

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

例如:

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

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

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

由于内容可变,htmlspecialchars函数可以保护您免受格式错误的影响。

答案 3 :(得分:0)

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

  1. 转到您生成的代码中的新行,您使用TimeLimitedCallable
  2. 执行此操作
  3. 转到您生成的HTML网页中的新行,您可以使用"\n"
  4. 执行此操作

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

    如果您想转到两者您的代码和HTML输出中的下一行,您只需合并<br />"\n"

    <br />