WordPress.org

Make WordPress Core

Ticket #23756: 23756.patch

File 23756.patch, 701 bytes (added by johnjamesjacoby, 22 months 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                }