Making WordPress.org

Changeset 8803


Ignore:
Timestamp:
05/16/2019 11:15:28 PM (6 years ago)
Author:
coffee2code
Message:

Developer: Use SyntaxHighligher-specific hook for more targeted fix for double-encoded HTML entities in code shortcodes.

Fixes a bug that cropped up using the previous approach that in specific situations somehow caused SyntaxHighlighter to have a code block subsume all text up to and through the next code block.

See #4457.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-developer/inc/import-block-editor.php

    r8790 r8803  
    1818        add_filter( 'wporg_markdown_after_transform',  array( $this, 'wporg_markdown_after_transform' ), 10, 2 );
    1919
    20         add_filter( 'the_content',                     array( $this, 'fix_code_entity_encoding' ), 6 );
     20        add_filter( 'syntaxhighlighter_htmlresult',    array( $this, 'fix_code_entity_encoding' ) );
    2121
    2222        add_action( 'pre_post_update', function( $post_id, $data ) {
     
    7373        }
    7474
    75         if ( false !== mb_strpos( $content, '[code' ) ) {
     75        if ( false !== mb_strpos( $content, '&' ) ) {
    7676            $content = preg_replace_callback(
    77                 '|(\[code[^\]]*\])(.+)(\[\/code\])|Us',
     77                '|(<pre class="brush[^>]+)(.+)(</pre)|Us',
    7878                function( $matches ) {
    7979                    return $matches[1] . html_entity_decode( $matches[2], ENT_QUOTES | ENT_HTML401 ) . $matches[3];
Note: See TracChangeset for help on using the changeset viewer.