今天在将php字符串中换行符“\r”和“\r\n”替换成<br />时,写了个正则,如下:
$user = "Hello World"; $user = preg_replace('(/\n|\r\n/', '<br />', $user); echo $user;
这句代码会将$user中所有的“\r”和“\r\n”替换成“<br />”标签。
后来发现php自带了一个将“\r”和“\r\n”转换成“<br />”标签的方法,名字叫做nl2br(),用法如下:
$user = "Hello World"; $user = nl2br($user); echo $user;
上面两种写法都会得到下面结果:
Hello <br /> World
nl2br()有个缺点,比如要用CSS做到段落缩进就比较麻烦,这个时候就需要nl2p()了。将br换行换成段落p换行,比较简单是直接替换:
<?php function nl2p($text) { return "<p>" . str_replace("\n", "</p><p>", $text) . "</p>"; } ?>
以上就是php中正则匹配换行以及自带的nl2br()换行方法,和拓展的nl2p()方法。