通常情况下,我使用的是nl2br()
,它确实就像在textarea中输入一样,但这会在使用bbcode或在<code>
或<pre>
标签中发布代码时出现问题,因为它增加了额外的换行符。
例如此代码
[sub-title]test[/sub-title]
some text here.
我希望它在浏览器中显示时显示,但由于[sub-title]
变为<div class="sub-title">
,<br />
会增加额外的换行符,所以它看起来像这样(中间有2个换行符)
**test**
some text here.
我还没有完全研究过,但PHP bbcode解析器可以帮助,还是使用正则表达式的唯一/最佳解决方案?
答案 0 :(得分:1)
您可以使用nl2br()
实施例
$message = nl2br(preg_replace('#(\\]{1})(\\s?)\\n#Usi', ']', stripslashes($message)));