APlayer_Plugin::get_shortcode_regex PHP Method

get_shortcode_regex() private static method

The regular expression combines the shortcode tags in the regular expression in a regex class. The regular expression contains 6 different sub matches to help with parsing. 1 - An extra [ to allow for escaping shortcodes with double [[]] 2 - The shortcode name 3 - The shortcode argument list 4 - The self closing / 5 - The content of a shortcode when it wraps some content. 6 - An extra ] to allow for escaping shortcodes with double [[]]
private static get_shortcode_regex ( array $tagnames = null ) : string
$tagnames array List of shortcodes to find. Optional. Defaults to all registered shortcodes.
return string The shortcode search regular expression
    private static function get_shortcode_regex($tagnames = null)
    {
        $tagregexp = join('|', array_map('preg_quote', $tagnames));
        // WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag()
        // Also, see shortcode_unautop() and shortcode.js.
        return '\\[' . '(\\[?)' . "({$tagregexp})" . '(?![\\w-])' . '(' . '[^\\]\\/]*' . '(?:' . '\\/(?!\\])' . '[^\\]\\/]*' . ')*?' . ')' . '(?:' . '(\\/)' . '\\]' . '|' . '\\]' . '(?:' . '(' . '[^\\[]*+' . '(?:' . '\\[(?!\\/\\2\\])' . '[^\\[]*+' . ')*+' . ')' . '\\[\\/\\2\\]' . ')?' . ')' . '(\\]?)';
        // 6: Optional second closing brocket for escaping shortcodes: [[tag]]
    }