如何在 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”,但我将其保留以防万一您觉得确实有必要。
这是通过在每种情况下用空字符串替换行终止字符串数组来实现的。
我的数据库中故事内容的文本是:
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”,但我将其保留以防万一您觉得确实有必要。 这是通过在每种情况下用空字符串替换行终止字符串数组来实现的。