WordPress.org

Make WordPress Core

Ticket #29557: beautify-29557.diff

File beautify-29557.diff, 2.6 KB (added by miqrogroove, 7 years ago)
  • src/wp-includes/formatting.php

     
    205205
    206206        // Look for shortcodes and HTML elements.
    207207
    208         $comment_regex = 
    209                         '!'                             // Start of comment, after the <.
    210                 .       '(?:'                   // Unroll the loop: Consume everything until --> is found.
    211                 .               '-(?!->)'       // Dash not followed by end of comment.
    212                 .               '[^\-]*+'       // Consume non-dashes.
    213                 .       ')*+'                   // Loop possessively.
    214                 .       '(?:-->)?';             // End of comment. If not found, match all input.
    215        
     208        $comment_regex =
     209                        '!'           // Start of comment, after the <.
     210                .       '(?:'         // Unroll the loop: Consume everything until --> is found.
     211                .               '-(?!->)' // Dash not followed by end of comment.
     212                .               '[^\-]*+' // Consume non-dashes.
     213                .       ')*+'         // Loop possessively.
     214                .       '(?:-->)?';   // End of comment. If not found, match all input.
     215
    216216        $shortcode_regex =
    217                         '\['                    // Find start of shortcode.
    218                 .       '[\/\[]?'               // Shortcodes may begin with [/ or [[
    219                 .       '[^\s\/\[\]]'   // No whitespace before name.
    220                 .       '[^\[\]]*+'             // Shortcodes do not contain other shortcodes. Possessive critical.
    221                 .       '\]'                    // Find end of shortcode.
    222                 .       '\]?';                  // Shortcodes may end with ]]
    223        
    224         $regex = 
    225                         '/('                                    // Capture the entire match.
    226                 .               '<'                                     // Find start of element.
    227                 .               '(?(?=!--)'                     // Is this a comment?
    228                 .                       $comment_regex  // Find end of comment.
     217                        '\['          // Find start of shortcode.
     218                .       '[\/\[]?'     // Shortcodes may begin with [/ or [[
     219                .       '[^\s\/\[\]]' // No whitespace before name.
     220                .       '[^\[\]]*+'   // Shortcodes do not contain other shortcodes. Possessive critical.
     221                .       '\]'          // Find end of shortcode.
     222                .       '\]?';        // Shortcodes may end with ]]
     223
     224        $regex =
     225                        '/('                   // Capture the entire match.
     226                .               '<'                // Find start of element.
     227                .               '(?(?=!--)'        // Is this a comment?
     228                .                       $comment_regex // Find end of comment.
    229229                .               '|'
    230                 .                       '[^>]+>'                // Find end of element.
     230                .                       '[^>]+>'       // Find end of element.
    231231                .               ')'
    232232                .       '|'
    233                 .               $shortcode_regex        // Find shortcodes.
     233                .               $shortcode_regex   // Find shortcodes.
    234234                .       ')/s';
    235235
    236236        $textarr = preg_split( $regex, $text, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
     
    261261                                _wptexturize_pushpop_element( $curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes );
    262262                        } else {
    263263                                // Looks like an escaped shortcode.
    264                                 // Do not texturize.
    265                                 // Do not push to the shortcodes stack.
    266264                                continue;
    267265                        }
    268266