我在编写“ bb解析器”时遇到一些问题.或者,不是解析器本身,而是nl2br对其进行了修改.
来自数据库的字符串如下所示:
现在,nl2br在第一个“文本文本”之后放置一个br /,然后在其下面放置另一个br,因此[code]标记之前有两个换行符(实际上是正确的,但不是我想要的).
有什么办法可以限制连续输入多少个br?我似乎找不到足够简单的解决方案.
预先谢谢大家.
解决方法:
除了以前的解决方案之外,由于Fredrik要求,我添加了一个不同的解决方案.这将代替double< br>在nl2br之后,而不是之前.
$string = nl2br( $string );
$string = preg_replace( '/(<br(?: \\/)?>\\r?\\n?\\r?)(?=\\1)/is', '', $string );