捕获字符串中的新行

时间:2012-01-16 18:23:40

标签: php html

我肯定知道之前已经问过这个问题,但我只是在谷歌上搜索,找不到任何东西(也许是错误的选择?)。 只是不要对我太生气,我惹毛了太...

我想要

$string = '
This is a line
This is another line
';

以HTML格式显示为

This is a line
This is another line

当我做echo $string;时。 如何捕获返回键或新行并将其替换为<br>

5 个答案:

答案 0 :(得分:2)

尝试nl2br()功能:

echo nl2br($string);

会回来:

<br>
This is a line<br>
This is another line<br>

要修剪前导和尾随新行,请使用trim()

echo nl2br(trim($string));

会回来:

This is a line<br>
This is another line

答案 1 :(得分:2)

您可以使用PHP函数nl2br。它不会替换换行符,而是在它们旁边插入<br />(这完全适合您的目的)。

使用您的示例:

$string = '
This is a line
This is another line
';
echo nl2br($string);

/* output
<br />
This is a line<br />
This is another line<br />
*/

答案 2 :(得分:1)

使用nl2br这样的功能:

echo nl2br($string);

答案 3 :(得分:0)

如果你没有使用nl2br获取它,你的新行字符不能是\ n。

print nl2br( str_replace( array( "\r\n", "\r" ), "\n", $string);

答案 4 :(得分:0)

你为什么不用:

$string = "
This is a line\n
This is another line
";

?  或使用

$string = <<<EOF
    This is a line
    This is another line
EOF;