Advertisements

get_shortcode_regex

Definition:
function get_shortcode_regex() {}

Retrieve the shortcode regular expression for searching.
The regular expression combines the shortcode tags in the regular expression in a regex class.

Return values

returns:The shortcode search regular expression

Source code

function get_shortcode_regex() {

	global $shortcode_tags;

	$tagnames = array_keys($shortcode_tags);

	$tagregexp = join( '|', array_map('preg_quote', $tagnames) );



	// WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag()

	return

		  '\\['                              // Opening bracket

		. '(\\[?)'                           // 1: Optional second opening bracket for escaping shortcodes: [[tag]]

		. "($tagregexp)"                     // 2: Shortcode name

		. '\\b'                              // Word boundary

		. '('                                // 3: Unroll the loop: Inside the opening shortcode tag

		.     '[^\\]\\/]*'                   // Not a closing bracket or forward slash

		.     '(?:'

		.         '\\/(?!\\])'               // A forward slash not followed by a closing bracket

		.         '[^\\]\\/]*'               // Not a closing bracket or forward slash

		.     ')*?'

		. ')'

		. '(?:'

		.     '(\\/)'                        // 4: Self closing tag ...

		.     '\\]'                          // ... and closing bracket

		. '|'

		.     '\\]'                          // Closing bracket

		.     '(?:'

		.         '('                        // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags

		.             '[^\\[]*+'             // Not an opening bracket

		.             '(?:'

		.                 '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag

		.                 '[^\\[]*+'         // Not an opening bracket

		.             ')*+'

		.         ')'

		.         '\\[\\/\\2\\]'             // Closing shortcode tag

		.     ')?'

		. ')'

		. '(\\]?)';                          // 6: Optional second closing brocket for escaping shortcodes: [[tag]]

}

1685

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: