Make WordPress Core

Changeset 29315


Ignore:
Timestamp:
07/28/2014 07:43:06 PM (12 years ago)
Author:
azaozz
Message:

Formatting: no <p> or <br> around <option> tags in both flavours of wpautop, make "selects" easier to read in the Text editor. Fixes #28217.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/js/editor.js

    r28817 r29315  
    168168        content = content.replace( new RegExp('\\s*</(' + blocklist2 + ')>\\s*', 'g' ), '</$1>\n' );
    169169        content = content.replace( /<li([^>]*)>/g, '\t<li$1>' );
     170
     171        if ( content.indexOf( '<option' ) !== -1 ) {
     172            content = content.replace( /\s*<option/g, '\n<option' );
     173            content = content.replace( /\s*<\/select>/g, '\n</select>' );
     174        }
    170175
    171176        if ( content.indexOf( '<hr' ) !== -1 ) {
     
    245250        pee = pee.replace( new RegExp( '(</(?:' + blocklist + ')>)', 'gi' ), '$1\n\n' );
    246251        pee = pee.replace( /<hr( [^>]*)?>/gi, '<hr$1>\n\n' ); // hr is self closing block element
     252        pee = pee.replace( /\s<option/gi, '<option' ); // No <p> or <br> around <option>
     253        pee = pee.replace( /<\/option>\s/gi, '</option>' );
    247254        pee = pee.replace( /\r\n|\r/g, '\n' );
    248255        pee = pee.replace( /\n\s*\n+/g, '\n\n' );
  • trunk/src/wp-includes/formatting.php

    r29290 r29315  
    392392    $pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
    393393    $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
     394
     395    if ( strpos( $pee, '<option' ) !== false ) {
     396        // no P/BR around option
     397        $pee = preg_replace( '|\s<option|', '<option', $pee );
     398        $pee = preg_replace( '|</option>\s|', '</option>', $pee );
     399    }
    394400
    395401    if ( strpos( $pee, '</object>' ) !== false ) {
Note: See TracChangeset for help on using the changeset viewer.