Tho*_*abe 68 html php line-breaks nl2br
试图简单地替换一些新的线条.尝试了3种不同的方式,我没有改变:
$description = preg_replace('/\r?\n|\r/','<br/>', $description);
$description = str_replace(array("\r\n","\r","\n"),"<br/>", $description);
$description = nl2br($description);
Run Code Online (Sandbox Code Playgroud)
这些应该都可以工作,但我仍然得到换行符.它们是双重的:"\ r \n".这不应该使这些失败对吗?
Rob*_*bik 123
在新行字符之前已经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);
?>
Run Code Online (Sandbox Code Playgroud)
但如果仍然无法正常工作,请确保文字$desciption是双引号.
这是因为单引号不会"扩展"转义序列,例如\n与双引号字符串进行比较.从PHP文档引用:
注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中出现时不会扩展.
afa*_*zit 59
试试这个
$description = preg_replace("/\r\n|\r|\n/",'<br/>',$description);
Run Code Online (Sandbox Code Playgroud)
reg*_*ero 15
你可能在字符串中有真正的字符"\"(单引号字符串,如@Robik所述).
如果你很确定'\ r'或'\n'字符串也应该被替换,我不是在谈论这里的特殊字符,而是一个两个字符序列'\'和'r',然后逃避'\' '在替换字符串中它将起作用:
str_replace(array("\r\n","\r","\n","\\r","\\n","\\r\\n"),"<br/>",$description);
Run Code Online (Sandbox Code Playgroud)
尝试这个:
echo str_replace(array('\r\n', '\n\r', '\n', '\r'), '<br>', $description);
Run Code Online (Sandbox Code Playgroud)
nl2br() 你有它应该工作正常:
$description = nl2br($description);
Run Code Online (Sandbox Code Playgroud)
更有可能的是,'示例代码第一行上的未闭合导致了您的问题.删除'after $ description ...
...$description');
Run Code Online (Sandbox Code Playgroud)
nl2br() 对我有用,但我需要用双引号将变量括起来:
这有效:
$description = nl2br("$description");
Run Code Online (Sandbox Code Playgroud)
这不起作用:
$description = nl2br($description);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
175662 次 |
| 最近记录: |