php nl2p() 自界说函数

假如向数据库输入内容时,没有用到富文本编辑器。而用的 textarea 标签的话,那么内容中的换行就会以 '\n' 的形式记录到数据库中。再者,假如把内容输出到欣赏器中时,欣赏器不能识别 '\n' 换行符举办换行,会对用户的阅读造成必然的影响。固然php提供了一个很好的办理函数 nl2br() ,但他只能插入一个<br> 标签,但假如我们想利用 <p></p> 标签换行的话,可以自界说一个函数 nl2p()

php nl2p() 自界说函数

留意:nl2p(),为一个自界说函数,因为它的成果与 nl2br() 相似,所以许多PHP编程者都喜欢定名为 nl2p()。

函数代码:

nl2p():将字符串中的换行符'\n',转换成 <p></p> 标签

function nl2p($string, $line_breaks = true, $xml = true){ $string = str_replace(['<p>', '</p>', '<br>', '<br />'], '', trim($string)); if ($line_breaks == true) { return '<p>' . preg_replace(array("/([\n]{2,})/i", "/([^>])\n([^<])/i"), array("</p>\n<p>", '<br' . ($xml == true ? ' /' : '') . '>'), $string) . '</p>'; } else { return '<p>' . preg_replace("/([\n|\r\n])/i", "</p>\n<p>", $string) . '</p>'; } }

参数说明:

$string:要处理惩罚的字符串

$line_breaks:为 TRUE 时,单行换行将转换为HTML换行标志<br>或<br/>。

$xml:假如为 true,利用 <br/> (xml语法)标签,不然利用 <br> (html语法)标签

php nl2p() 自界说函数利用示例

1、php把一段字符转换成 <p></p> 换行

代码:

<?php $str = "hello \n word!"; echo nl2p($str,false); ?>

运行功效(需要查察源码):

<p>hello </p> <p> word!</p>

2、将所有字符串浸染一段,并用<br/>换行

代码

<?php $str = "飞鸟慕鱼博客 \n !"; echo nl2p($str); ?>

欣赏器输出样式:

飞鸟慕鱼博客 !

查察源码:

<p>飞鸟慕鱼博客<br />!</p>

3、利用<br>换行

代码:

<?php $str = "举头望明月, \n 垂头思家园!"; echo nl2p($str,true,false); ?>

欣赏器输出样式:

举头望明月, 垂头思家园!

查察源码:

<p>举头望明月,<br>垂头思家园!</p>

4、假如有两个持续的换行符,则另起一段.

代码:

<?php $str = "不敢大声语, \n\n 恐惧天上人!"; echo nl2p($str,true,false); ?>

欣赏器输出:

不敢大声语, 恐惧天上人!

查察源码:

<p>不敢大声语, </p> <p> 恐惧天上人!</p>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8961.html