好的,我目前正在尝试为我的自制论坛创建 bbcode。它工作得很好,直到我开始引用。这是我的功能:
public function forum_parse ($string)
{
global $core, $path;
$string = $this -> normal_parse ($string);
$search = '/\[quote=([A-z0-9 -_\'"]+);([0-9]+)\](.*)\[\/quote\]/is';
$replace = '<div class="quote"><p class="quote-author"><a href="' . $path . 'forum/viewtopic?p=$2">' . WRITTEN_BY . ' $1</a></p><p class="quote-content">$3</p></div>';
return preg_replace ($search, $replace, $string);
}
每个帖子只有一个报价时效果很好,但是当有更多报价时,问题就开始了。它显然不是从根引号开始并自行选择准确的结束标签。而且我没有足够的 RegEx 经验来修复它。有什么帮助吗?:/