【发布时间】:2022-01-31 09:03:55
【问题描述】:
这是我的功能。
class bbcode{
var $bbcode_bb2html;
function __construct($string){
$this->bbcode_bb2html= $string;
}
function bbcode_parse_codes( ){
$this->bbcode_bb2html = preg_replace("#\[code=(.*?)\](.*?)\[/code\]#si", "<pre data-snap-ignore=true class=language-\\1><code>\\2</code></pre>", $this->bbcode_bb2html);
return $this->bbcode_bb2html;
}
}
$content="[code=php]test message[/code]";
$bbcode = new bbcode($content);
echo $bbcode->bbcode_bb2html();
真实结果
<pre data-snap-ignore=true class=language-php><code>test message</code></pre>
但嵌套消息不起作用。样品;
$content="[code=php]test message [code=php]...[/code] bla bla bla[/code]";
$bbcode = new bbcode($content);
echo $bbcode->bbcode_bb2html();
错误结果
<pre data-snap-ignore=true class=language-php><code>test message [code=php]...</code></pre> bla bla bla[/code]
【问题讨论】:
-
函数 bbcode_bb2html(){ if ( empty($this->bbcode_bb2html) ){ return ( false ); } $this->bbcode_parse_codes( );返回 $this->bbcode_bb2html; }
标签: php html nested preg-replace bbcode