如何在php echo中添加新行

如何在php echo中添加新行,php,nl2br,Php,Nl2br,我的数据库中故事内容的文本为: 我想添加\r\n新行 无报价 当我使用: echo nl2br($story->getStoryContent()); 要用br替换\r\n,它不起作用。浏览器仍然显示\r\n。当我查看源时,\r\n仍在那里,而且找不到br。这很奇怪,因为当我使用以下简单代码测试函数nl2br时: echo nl2br("Welcome\r\nThis is my HTML document"); 它确实有效。你能告诉我为什么没用吗?非常感谢。我发现答案很简单。我只是用

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

我想添加\r\n新行

无报价

当我使用:

echo nl2br($story->getStoryContent());
要用br替换\r\n,它不起作用。浏览器仍然显示\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"
现场演示

我怀疑您是否需要\n\r,但我把它留了下来,以防您觉得确实需要它。
这是通过在每种情况下用空字符串替换行终止字符串数组来实现的。

您是否尝试过echo preg_replace'/\r\n/',$story->getStoryContent;?谢谢你的回复。我尝试了你的建议,但没有效果。那么,你似乎不是在寻找\r\n。尝试同样的方法,寻找PHP_EOL。