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


New line not printing by using nl2br in PHP and CodeIgniter

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

$ba='hi'r'nhello';

当我尝试像这样打印它时

echo nl2br($ba);

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

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

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

但是我无法更改此设置,因此如何解决此问题?

谢谢你的帮助。

"'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);