php里有nl2br这样的好函数,当然也应该有反函数,分两个版本:php和javascript的。
nl2br
php版的代码如下:
nl2br(string,xhtml)
参数描述string必需。规定要检查的字符串。xhtml可选。一个表示是否使用兼容 XHTML 换行的布尔值:TRUE- 默认。插入 <br />FALSE – 插入 <br>
javascript版的代码如下:
function nl2br(txt) {
txt = txt.replace(/\r\n/g,”<br>”);
txt = txt.replace(/\n/g,”<br>”);
txt = txt.replace(/\r/g,”<br>”);
return txt;
}
按顺序:PHP 换行符 PHP_EOL
//windows “\r\n”;
//unix\linux “\n”;
//mac “\r”;
br2nl
php版的代码如下:
function br2nl($text) {
return preg_replace(‘/<br\\s*?\/??>/i’, ”, $text);
}
javascript版的代码如下:
function br2nl(txt) {
var re = /<br\s*\/?>/gi; //或者/(<br\/>|<br>|<BR>|<BR\/>)/g;
var s = txt.replace(re, “\n”);
return s;
}
在实际应用中,你不能保证客户输入的是<br />也可以是<br> <br/> <BR>等组合。那么我们就需要使用下面的代码了,提供兼容性。
应用场景:
表单提交中:需要替换掉\n变为<br>.
呈现时:根据需要替换。例如:php写excel文件单元格内换行需要\n,此时注意\n一定要双引号。