What are the best practices for converting BBCode to HTML for lists and tables in PHP?

When converting BBCode to HTML for lists and tables in PHP, it is important to properly handle the BBCode tags for lists and tables and convert them to their corresponding HTML elements. This can be achieved by using regular expressions to identify the BBCode tags and replace them with the appropriate HTML tags for lists and tables.

function bbcodeToHtml($bbcode) {
    // Convert BBCode list tags to HTML list tags
    $bbcode = preg_replace('/\[list\](.*?)\[\/list\]/s', '<ul>$1</ul>', $bbcode);
    $bbcode = preg_replace('/\[\*\](.*?)\[\/\*\]/s', '<li>$1</li>', $bbcode);

    // Convert BBCode table tags to HTML table tags
    $bbcode = preg_replace('/\[table\](.*?)\[\/table\]/s', '<table>$1</table>', $bbcode);
    $bbcode = preg_replace('/\[tr\](.*?)\[\/tr\]/s', '<tr>$1</tr>', $bbcode);
    $bbcode = preg_replace('/\[td\](.*?)\[\/td\]/s', '<td>$1</td>', $bbcode);

    return $bbcode;
}

$bbcode = "[list][*]Item 1[*]Item 2[/list]";
$html = bbcodeToHtml($bbcode);
echo $html;