在PHP和CodeIgniter中使用nl2br不打印新行

时间:2016-03-14 20:36:17

标签: php codeigniter

我正在尝试解决CodeIgniter中的新行问题。我的变量设置如下

$ba='hi\r\nhello';

当我尝试像这样打印时

echo nl2br($ba);

它没有将\r\n转换为新行。经过一整天的搜索后,我发现这是因为我的变量是'而不是"

我也试过使用preg_replace,但它是一样的

preg_replace("/\r\n|\r|\n/",'<br/>',$ba);

但是我无法改变这一点,那我该如何解决这个问题呢?

感谢您提供帮助。

1 个答案:

答案 0 :(得分:4)

"\n"'\n' 不同!这是你的基本问题。你不是要替换你认为自己的东西

"\n"转换为换行符或ASCII 13

'\n'是字符\,然后是字符n

$ba='hi\r\nhello';
$ba=str_replace('\r\n','<br>',$ba);

echo $ba; // hi<br>hello

使用正则表达式:

因为\是一个需要将它加倍的转义字符:

$ba=preg_replace('#\\\r\\\n|\\\r|\\\n#','<br/>',$ba);