diff --git a/monstra/engine/shortcodes.php b/monstra/engine/shortcodes.php index df0cddb..2454489 100644 --- a/monstra/engine/shortcodes.php +++ b/monstra/engine/shortcodes.php @@ -148,8 +148,8 @@ if ( ! Shortcode::$shortcode_tags) return $content; $shortcodes = implode('|', array_map('preg_quote', array_keys(Shortcode::$shortcode_tags))); - $pattern = "/(.?)\{($shortcodes)(.*?)(\/)?\}(?(4)|(?:(.+?)\{\/\s*\\2\s*\}))?(.?)/s"; - + $pattern = "/(.?)\{([$shortcodes]+)(.*?)(\/)?\}(?(4)|(?:(.+?)\{\/\s*\\2\s*\}))?(.?)/s"; + return preg_replace_callback($pattern, 'Shortcode::_handle', $content); }