php textarea,tew行中的文本

时间:2011-01-01 18:34:36

标签: php html

$city = 'London Paris Lisabona';

我需要在textarea中打印这个字符串。 如何在新线上打印城市? 我需要在textarea得到这个:

London
Paris
Lisabona

代码:

$city = 'London\nParis\nLisabona';
echo '<textarea>'.$city.'</textarea>';

结果:

London\nParis\nLisabona

6 个答案:

答案 0 :(得分:5)

一般情况下:使用\n换行。

在您的情况下(只有引用的作品不包含两个单词,即每个单词必须是一个城市):

$city = str_replace(' ',"\n", $str); // generates 'London\nParis\nLisabona'

或者如果可能的话,用\n构建字符串,而不是从头开始构建字符串。

<强>更新

\n等转义字符序列仅在 double 引用的字符串中处理。它们在字面上用单引号字符串表示(有两个例外)。阅读documentation

中的更多内容
  

要指定文字单引号,请使用反斜杠(\)对其进行转义。要指定文字反斜杠,请将其加倍(\\)。反斜杠的所有其他实例将被视为文字反斜杠:这意味着您可能习惯使用的其他转义序列(例如\r\n)将按字母顺序输出,而不是任何特殊意义。

因此,您必须将字符串声明为

$cities = "London\nParis\nLisabona";

进一步说明:

尽可能避免使用PHP回显HTML。这使得调试HTML变得更加困难。相反,将PHP嵌入到HTML中,如下所示:

<?php
    $cities = "London\nParis\nLisabona";
?>
<textarea><?php echo $cities; ?></textarea>

答案 1 :(得分:2)

<?php

$city = "London\nParis\nLisabona";
?>

<textarea rows="3" cols="20">
<?php echo $city; ?>
</textarea>

答案 2 :(得分:1)

$city = str_replace(' ', "<br />", $city);  

如果您在HTML中回显它。

答案 3 :(得分:0)

<textarea><?= str_replace(" ", "<br />", $city); ?></textarea>

答案 4 :(得分:0)

如果要将“\ n”转换为换行符,则需要使用双引号而不是单引号。

$foo = 'a\nb\nc\n';
echo $foo;
> a\nb\nc\n

$foo = "a\nb\nc\n";
echo $foo;
> a
> b
> c

答案 5 :(得分:0)

&#10;<textarea>形式在我身上工作,但行可能会被软包裹(但这是预期的)