如何在PHP中编写此代码? 我尝试了几件事,但它不会起作用。 你可以帮我吗?
return s.split(/\r?\n/).join("<br>");
谢谢!
答案 0 :(得分:3)
看起来你正在使用正则表达式。这个怎么样
echo implode(preg_split('/\r?\n/', $s), '<br>');
答案 1 :(得分:2)
PHP以前有split
和join
个函数,但它们被弃用为更广泛使用的explode
和implode
函数的别名。 RTM
您正在尝试 使用implode
,explode
和str_replace
。后者应该替换任何\r
个字符(因为它们是可选的)。然后,您可以使用explode
作为分隔符\n
字符串,并使用implode
再次<br>
。但这意味着要调用3个函数,考虑到有一个函数可以完全你需要的函数,这有点多余:nl2br
return implode(
'<br/>',
//split on \n
explode(
"\n",
//remove any \r chars
str_replace(
"\r",
'',
$s
)
)
);
//The results are the same as this clean, simple one-liner
return nl2br($s);
使用nl2br
,它就像那样简单,并且只需要最少的努力就可以完成您想要的任务。
答案 2 :(得分:1)
我做:
return implode("<br />", explode("\R", $s));
\R
代表任何换行符,\n
或\r
或\r\n
答案 3 :(得分:0)
您可以这样写:
return implode("<br />", explode("\r\n", s));