字符串替换<br/>到\ n给出双重中断

时间:2015-09-24 12:45:18

标签: php str-replace

解决方案信息:

nl2br函数不会像我预期的那样用\n替换<br />,而是在<br />之前插入\n

来自php.net:

  

nl2br - 在字符串

中的所有换行符之前插入HTML换行符

原始问题:

我在PHP中用<br />替换\n元素,这是我的输入:

Top spot!<br />
<br />
123456789 123456789 123456789

这是我的代码:

$commenttext = str_replace("<br />", "\n", $reviewdata['comment']);

但我的输出是:

Top spot!



123456789 123456789 123456789

使用str_replace时我有什么遗漏?我使用它后得到的休息时间翻了一倍。

2 个答案:

答案 0 :(得分:2)

让我告诉你。更换前的代码:

Top spot!<br />\n<br />\n123456789 123456789 123456789

替换后的代码:

Top spot!\n\n\n\n123456789 123456789 123456789

正如您所看到的,<br />已正确替换为新行。

首先尝试使用新行替换<br />标记:

$commenttext = str_replace("<br />\n", "\n", $reviewdata['comment']);

答案 1 :(得分:1)

<?php

$text = 'top spot!<br />
<br />
123456789 123456789 123456789';

echo str_replace("<br />\n","\n",$text);

?>

DEMO

  

输出

top spot! 123456789 123456789 123456789