如何在 php echo 中添加新行

How to add new line in php echo

我的数据库中故事内容的文本是:

I want to add\r\nnew line

(无引用)

当我使用时:

echo nl2br($story->getStoryContent());

\r\n换成br,不行。浏览器仍然显示 \r\n。当我查看源代码时,\r\n 仍然存在,br 也无处可寻。这很奇怪,因为当我用像这样的简单代码测试函数 nl2br 时:

echo nl2br("Welcome\r\nThis is my HTML document");

它确实有效。你能告诉我为什么它不起作用吗?非常感谢。

我发现答案很简单。我只是用

$text = $this->storyContent;
$text = str_replace("\r\n","<br>",$text);
$text = str_replace("\n\r","<br>",$text);
$text = str_replace("\r","<br>",$text);
$text = str_replace("\n","<br>",$text);

以下代码片段使用了您可能更喜欢的技术,如下所示:

<?php

$example = "\n\rSome Kind\r of \nText\n\n";


$replace = array("\r\n", "\n\r", "\r", "\n");
$subs    = array("","","","");

$text = str_replace($replace, $subs, $example );
var_dump($text); // "Some Kind of Text"

现场演示 here

我怀疑您是否需要“\n\r”,但我将其保留以防万一您觉得确实有必要。 这是通过在每种情况下用空字符串替换行终止字符串数组来实现的。