How can preg_replace_callback() be effectively utilized to make replacements for [PHP] and [code] tags in PHP parsing?

To effectively replace [PHP] and [code] tags in PHP parsing, we can use preg_replace_callback() to match the tags and apply custom replacements using a callback function. This allows us to dynamically process the matched content and make the necessary replacements based on our requirements.

$content = "This is a [PHP]echo 'Hello, World!';[/PHP] example with some [code]echo 'Code snippet here';[/code] included.";

function replaceTags($matches) {
    $tag = $matches[1];
    $content = $matches[2];

    if ($tag == 'PHP') {
        return eval('return ' . $content . ';');
    } elseif ($tag == 'code') {
        return "<code>$content</code>";
    }
}

$result = preg_replace_callback('/\[(PHP|code)\](.*?)\[\/\1\]/s', 'replaceTags', $content);

echo $result;