WordPress.org

Make WordPress Core

Ticket #23756: 23756.patch

File 23756.patch, 701 bytes (added by johnjamesjacoby, 5 years ago)

Skip links in code and pre blocks.

  • wp-includes/formatting.php

     
    16011601        $r = '';
    16021602        $textarr = preg_split( '/(<[^<>]+>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // split out HTML tags
    16031603        foreach ( $textarr as $piece ) {
    1604                 if ( empty( $piece ) || ( $piece[0] == '<' && ! preg_match('|^<\s*[\w]{1,20}+://|', $piece) ) ) {
     1604
     1605                switch ( $piece ) {
     1606                        case '<code>' :
     1607                        case '<pre>'  :
     1608                                $in_code = true;
     1609                                break;
     1610                        case '</code>' :
     1611                        case '</pre>'  :
     1612                                $in_code = false;
     1613                                break;
     1614                }
     1615
     1616                if ( $in_code || empty( $piece ) || ( $piece[0] == '<' && ! preg_match('|^<\s*[\w]{1,20}+://|', $piece) ) ) {
    16051617                        $r .= $piece;
    16061618                        continue;
    16071619                }