こんにちは、私は非常に単純な 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 タグ内に別のリストがある場合、完全に解析に失敗することです。次のスクリーンショットを示します。
これはどのように見えるべきかです:
私のコードはおそらく単純すぎることはわかっていますが、リスト項目内のリストを解析できるように調整するにはどうすればよいですか?