我正在尝试解决CodeIgniter中的新行问题。我的变量设置如下
$ba='hi\r\nhello';
当我尝试像这样打印时
echo nl2br($ba);
它没有将\r\n
转换为新行。经过一整天的搜索后,我发现这是因为我的变量是'
而不是"
我也试过使用preg_replace
,但它是一样的
preg_replace("/\r\n|\r|\n/",'<br/>',$ba);
但是我无法改变这一点,那我该如何解决这个问题呢?
感谢您提供帮助。
答案 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);