试图简单地替换一些新的线条。尝试了3种不同的方式,我没有改变:
$description = preg_replace('/\r?\n|\r/','<br/>', $description);
$description = str_replace(array("\r\n","\r","\n"),"<br/>", $description);
$description = nl2br($description);
这些应该都可以工作,但我仍然得到换行符。它们是双重的:“\ r \ n”。这不应该使这些失败对吗?
发布于 2019-06-05 14:45:51
你可能在字符串中有真正的字符“\”(单引号字符串,如@Robik所述)。
如果你很确定'\ r'或'\ n'字符串也应该被替换,我不是在谈论这里的特殊字符,而是一个两个字符序列'\'和'r',然后逃避'\' '在替换字符串中它将起作用:
str_replace(array("\r\n","\r","\n","\\r","\\n","\\r\\n"),"<br/>",$description);
发布于 2019-06-05 16:19:14
nl2br()为我工作,但我需要用双引号包装变量:
这有效:
$description = nl2br("$description");
这不起作用:
$description = nl2br($description);
https://stackoverflow.com/questions/-100006932
复制相似问题