Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




get_shortcode_regex [ WordPress Function ]

get_shortcode_regex ( No parameters )
Uses:
  • $shortcode_tags
Returns:
  • (string) The shortcode search regular expression
Defined at:



Retrieve the shortcode regular expression for searching.

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 [[]]

Source


<?php
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]]
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics