$city = 'London Paris Lisabona';
我需要在textarea中打印这个字符串。 如何在新线上打印城市? 我需要在textarea得到这个:
London
Paris
Lisabona
代码:
$city = 'London\nParis\nLisabona';
echo '<textarea>'.$city.'</textarea>';
结果:
London\nParis\nLisabona
答案 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)
以<textarea>
形式在我身上工作,但行可能会被软包裹(但这是预期的)