4

こんにちは、私は非常に単純な 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 タグ内に別のリストがある場合、完全に解析に失敗することです。次のスクリーンショットを示します。画像1

これはどのように見えるべきかです:画像2

私のコードはおそらく単純すぎることはわかっていますが、リスト項目内のリストを解析できるように調整するにはどうすればよいですか?

4

1 に答える 1