如何在php echo中添加新行

时间:2015-01-15 07:38:50

标签: php nl2br

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

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");

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

2 个答案:

答案 0 :(得分:0)

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

$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);

答案 1 :(得分:0)

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

<?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”但我留下它以防万一你认为真的有必要。 这可以通过在每种情况下使用空字符串替换行终止字符串数组来实现。