PHP替换\ r \n,而不是替换新行

Jos*_*waa 10 html php regex string line-breaks

基本上我有这个脚本,我试图取代\r\n<br />正确的格式.我试过nl2br(),并没有替换\r\n<br />.这是代码.

$title = isset($post[0]) ? $post[0] : false;
$body = isset($post[1]) ? preg_replace('#(\r|\r\n|\n)#', '<br/>', $post[1]) : false;
echo $title."<br/>".$body;  
Run Code Online (Sandbox Code Playgroud)

Sal*_*n A 17

$body = isset($post[1]) ? preg_replace('#(\\\r|\\\r\\\n|\\\n)#', '<br/>', $post[1]) : false;
Run Code Online (Sandbox Code Playgroud)

你需要三个\\\.里面单引号,\\转化为\使\\\r成为\\r其被送入preg_replace功能可按.

PREG引擎有自己的转义序列集,\r其中之一就是ASCII字符#13.要告诉PREG引擎搜索文字\r,您需要传递\\r需要再次转义的字符串,因为您将其放在单引号内.