一尘不染

如何用换行符或\ r \ n替换 ?

html

尝试简单地替换一些新行。尝试了3种不同的方法,但我没有任何改变:

$description = preg_replace('/\r?\n|\r/','<br/>', $description);
$description = str_replace(array("\r\n","\r","\n"),"<br/>", $description);
$description = nl2br($description);

这些都应该起作用,但是我仍然可以换行。它们是双精度的:“ \ r \ r”。那不应该让这些失败吗?


阅读 686

收藏
2020-05-10

共1个答案

一尘不染

已经有在换行符之前 替换 插入* 标签的[nl2br()]功能: ~~~~*<br>

示例(键盘):

<?php
// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '<br/>';
echo nl2br($desc2);
?>

但是,如果仍然无法正常工作,请确保文本$desciption被双引号引起来。

那是因为单引号不会“扩展”转义序列,例如\n与双引号字符串相比。引用PHP文档:

注意 :与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号引起来的字符串中不会扩展。

2020-05-10