0

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

I want to add\r\nnew line

(没有报价)

当我使用:

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

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

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

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

4

2 回答 2

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);
于 2015-01-15T08:20:10.367 回答
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"

现场演示在这里

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

于 2015-01-15T08:31:56.590 回答