Php bbcode_解析器不允许换行

Php bbcode_解析器不允许换行,php,bbcode,Php,Bbcode,而这不是应该的 [quote]This is {LINEBREAK} a test[/quote] QuoteThis是{LINEBREAK} 测验 有人有主意吗?您可以在正则表达式上使用s修饰符来表示“单线模式”。默认情况下,点()与新行字符不匹配。使用s修饰符,它会 <div class="quote"><div class="quote-author">Quote</div>This is {LINEBREAK} a test</div>

而这不是应该的

[quote]This is {LINEBREAK}
a test[/quote]
QuoteThis是{LINEBREAK}
测验

有人有主意吗?

您可以在正则表达式上使用
s
修饰符来表示“单线模式”。默认情况下,点(
)与新行字符不匹配。使用
s
修饰符,它会

<div class="quote"><div class="quote-author">Quote</div>This is {LINEBREAK}
a test</div>

尝试向正则表达式()添加一个
s
修饰符。将表达式字符串更改为
'\[('.$tags.')=?(.*?)\](.+?)\[/\1\].\s'
-请注意最末端的
s
<div class="quote"><div class="quote-author">Quote</div>This is {LINEBREAK}
a test</div>
preg_match_all('`\[('.$tags.')=?(.*?)\](.+?)\[/\1\]`s', $string, $matches)