大家好,我有一个非常简单的 bbcode 解析系统,它目前在列表中的列表存在问题。
我的代码:
$find = array(
'/\[list\](.*?)\[\/list\]/is',
'/\[\*\](.*?)(\n|\r\n?)/is',
'/\[ul\](.*?)\[\/ul\]/is',
'/\[li\](.*?)\[\/li\]/is'
);
$replace = array(
'<ul>$1</ul>',
'<li>$1</li>',
'<ul>$1</ul>',
'<li>$1</li>'
);
$body = preg_replace($find, $replace, $body);
问题是当您在 li 标签中有另一个列表时,它完全无法解析,屏幕截图显示:
它应该是这样的:
我知道我的代码可能对它来说太简单了,但是我该如何调整它以便它可以解析列表项中的列表?