From 961a2a89e920539140d0b73124dc8556a7a6f896 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Fri, 15 Nov 2013 21:02:56 +0000 Subject: [PATCH] JSHint fixes for editor.js. Props dougwollison, fixes #25947 git-svn-id: https://develop.svn.wordpress.org/trunk@26224 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/editor.js | 275 +++++++++++++++++++++----------------- 1 file changed, 153 insertions(+), 122 deletions(-) diff --git a/src/wp-admin/js/editor.js b/src/wp-admin/js/editor.js index 78c86a8fb8..fff8b61bc1 100644 --- a/src/wp-admin/js/editor.js +++ b/src/wp-admin/js/editor.js @@ -1,245 +1,276 @@ +/* global tinymce, tinyMCEPreInit, QTags, setUserSetting */ -var switchEditors = { +window.switchEditors = { - switchto: function(el) { - var aid = el.id, l = aid.length, id = aid.substr(0, l - 5), mode = aid.substr(l - 4); + switchto: function( el ) { + var aid = el.id, + l = aid.length, + id = aid.substr( 0, l - 5 ), + mode = aid.substr( l - 4 ); - this.go(id, mode); + this.go( id, mode ); }, - go: function(id, mode) { // mode can be 'html', 'tmce', or 'toggle'; 'html' is used for the "Text" editor tab. + // mode can be 'html', 'tmce', or 'toggle'; 'html' is used for the 'Text' editor tab. + go: function( id, mode ) { + var t = this, ed, wrap_id, txtarea_el, + dom = tinymce.DOM; + id = id || 'content'; mode = mode || 'toggle'; - var t = this, ed = tinyMCE.get(id), wrap_id, txtarea_el, dom = tinymce.DOM; + ed = tinymce.get( id ); + wrap_id = 'wp-' + id + '-wrap'; + txtarea_el = dom.get( id ); - wrap_id = 'wp-'+id+'-wrap'; - txtarea_el = dom.get(id); - - if ( 'toggle' == mode ) { - if ( ed && !ed.isHidden() ) + if ( 'toggle' === mode ) { + if ( ed && ! ed.isHidden() ) { mode = 'html'; - else + } else { mode = 'tmce'; + } } - if ( 'tmce' == mode || 'tinymce' == mode ) { - if ( ed && ! ed.isHidden() ) + if ( 'tmce' === mode || 'tinymce' === mode ) { + if ( ed && ! ed.isHidden() ) { return false; + } - if ( typeof(QTags) != 'undefined' ) - QTags.closeAllTags(id); + if ( typeof( QTags ) !== 'undefined' ) { + QTags.closeAllTags( id ); + } - if ( tinyMCEPreInit.mceInit[id] && tinyMCEPreInit.mceInit[id].wpautop ) + if ( tinyMCEPreInit.mceInit[ id ] && tinyMCEPreInit.mceInit[ id ].wpautop ) { txtarea_el.value = t.wpautop( txtarea_el.value ); + } if ( ed ) { ed.show(); } else { - ed = new tinymce.Editor(id, tinyMCEPreInit.mceInit[id]); + ed = new tinymce.Editor( id, tinyMCEPreInit.mceInit[ id ] ); ed.render(); } - dom.removeClass(wrap_id, 'html-active'); - dom.addClass(wrap_id, 'tmce-active'); - setUserSetting('editor', 'tinymce'); + dom.removeClass( wrap_id, 'html-active' ); + dom.addClass( wrap_id, 'tmce-active' ); + setUserSetting( 'editor', 'tinymce' ); - } else if ( 'html' == mode ) { + } else if ( 'html' === mode ) { - if ( ed && ed.isHidden() ) + if ( ed && ed.isHidden() ) { return false; + } if ( ed ) { ed.hide(); } else { - // The TinyMCE instance doesn't exist, run the content through "pre_wpautop()" and show the textarea - if ( tinyMCEPreInit.mceInit[id] && tinyMCEPreInit.mceInit[id].wpautop ) + // The TinyMCE instance doesn't exist, run the content through 'pre_wpautop()' and show the textarea + if ( tinyMCEPreInit.mceInit[ id ] && tinyMCEPreInit.mceInit[ id ].wpautop ) { txtarea_el.value = t.pre_wpautop( txtarea_el.value ); + } - dom.setStyles(txtarea_el, {'display': '', 'visibility': ''}); + dom.setStyles( txtarea_el, {'display': '', 'visibility': ''} ); } - dom.removeClass(wrap_id, 'tmce-active'); - dom.addClass(wrap_id, 'html-active'); - setUserSetting('editor', 'html'); + dom.removeClass( wrap_id, 'tmce-active' ); + dom.addClass( wrap_id, 'html-active' ); + setUserSetting( 'editor', 'html' ); } return false; }, - _wp_Nop : function(content) { - var blocklist1, blocklist2, preserve_linebreaks = false, preserve_br = false; + _wp_Nop: function( content ) { + var blocklist1, blocklist2, + preserve_linebreaks = false, + preserve_br = false; // Protect pre|script tags - if ( content.indexOf(']*>[\s\S]+?<\/\1>/g, function(a) { - a = a.replace(/(\r\n|\n)?/g, ''); - return a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g, ''); + content = content.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) { + a = a.replace( /(\r\n|\n)?/g, '' ); + return a.replace( /<\/?p( [^>]*)?>(\r\n|\n)?/g, '' ); }); } // keep tags inside captions and remove line breaks - if ( content.indexOf('[caption') != -1 ) { + if ( content.indexOf( '[caption' ) !== -1 ) { preserve_br = true; - content = content.replace(/\[caption[\s\S]+?\[\/caption\]/g, function(a) { - return a.replace(/]*)>/g, '').replace(/[\r\n\t]+/, ''); + content = content.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) { + return a.replace( /]*)>/g, '' ).replace( /[\r\n\t]+/, '' ); }); } // Pretty it up for the source editor blocklist1 = 'blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset'; - content = content.replace(new RegExp('\\s*('+blocklist1+')>\\s*', 'g'), '$1>\n'); - content = content.replace(new RegExp('\\s*<((?:'+blocklist1+')(?: [^>]*)?)>', 'g'), '\n<$1>'); + content = content.replace( new RegExp( '\\s*(' + blocklist1 + ')>\\s*', 'g' ), '$1>\n' ); + content = content.replace( new RegExp( '\\s*<((?:' + blocklist1 + ')(?: [^>]*)?)>', 'g' ), '\n<$1>' ); // Mark
]*>[\s\S]+?<\/\1>/g, function(a) { - a = a.replace(/(\r\n|\n)?/g, ''); - return a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g, ''); + content = content.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) { + a = a.replace( /(\r\n|\n)?/g, '' ); + return a.replace( /<\/?p( [^>]*)?>(\r\n|\n)?/g, '' ); }); } // keep tags inside captions and remove line breaks - if ( content.indexOf('[caption') != -1 ) { + if ( content.indexOf( '[caption' ) !== -1 ) { preserve_br = true; - content = content.replace(/\[caption[\s\S]+?\[\/caption\]/g, function(a) { - return a.replace(/]*)>/g, '').replace(/[\r\n\t]+/, ''); + content = content.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) { + return a.replace( /]*)>/g, '' ).replace( /[\r\n\t]+/, '' ); }); } // Pretty it up for the source editor blocklist1 = 'blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset'; - content = content.replace(new RegExp('\\s*('+blocklist1+')>\\s*', 'g'), '$1>\n'); - content = content.replace(new RegExp('\\s*<((?:'+blocklist1+')(?: [^>]*)?)>', 'g'), '\n<$1>'); + content = content.replace( new RegExp( '\\s*(' + blocklist1 + ')>\\s*', 'g' ), '$1>\n' ); + content = content.replace( new RegExp( '\\s*<((?:' + blocklist1 + ')(?: [^>]*)?)>', 'g' ), '\n<$1>' ); // Mark
]+>.*?)<\/p>/g, '$1
- content = content.replace(/
/gi, '
and - content = content.replace(/\s*
/gi, ''); - content = content.replace(/\s*<\/p>\s*/gi, '\n\n'); - content = content.replace(/\n[\s\u00a0]+\n/g, '\n\n'); - content = content.replace(/\s*\s*/gi, '\n'); + content = content.replace( /\s*
/gi, '' ); + content = content.replace( /\s*<\/p>\s*/gi, '\n\n' ); + content = content.replace( /\n[\s\u00a0]+\n/g, '\n\n' ); + content = content.replace( /\s*\s*/gi, '\n' ); // Fix some block element newline issues - content = content.replace(/\s*
]+>[\s\S]*?<\/p>)/g, '\n$1'); + content = content.replace( /<\/p#>/g, '
]+>[\s\S]*?<\/p>)/g, '\n$1' ); // Trim whitespace - content = content.replace(/^\s+/, ''); - content = content.replace(/[\s\u00a0]+$/, ''); + content = content.replace( /^\s+/, '' ); + content = content.replace( /[\s\u00a0]+$/, '' ); // put back the line breaks in pre|script - if ( preserve_linebreaks ) - content = content.replace(//g, '\n'); + if ( preserve_linebreaks ) { + content = content.replace( //g, '\n' ); + } // and the tags in captions - if ( preserve_br ) - content = content.replace(/]*)>/g, ''); + if ( preserve_br ) { + content = content.replace( /]*)>/g, '' ); + } return content; }, - _wp_Autop : function(pee) { - var preserve_linebreaks = false, preserve_br = false, - blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary'; + _wp_Autop: function(pee) { + var preserve_linebreaks = false, + preserve_br = false, + blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select' + + '|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section' + + '|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary'; - if ( pee.indexOf('/g, function(a){ - return a.replace(/[\r\n]+/g, ''); + if ( pee.indexOf( '/g, function( a ) { + return a.replace( /[\r\n]+/g, '' ); }); } - pee = pee.replace(/<[^<>]+>/g, function(a){ - return a.replace(/[\r\n]+/g, ' '); + pee = pee.replace( /<[^<>]+>/g, function( a ){ + return a.replace( /[\r\n]+/g, ' ' ); }); // Protect pre|script tags - if ( pee.indexOf(']*>[\s\S]+?<\/\1>/g, function(a) { - return a.replace(/(\r\n|\n)/g, ''); + pee = pee.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) { + return a.replace( /(\r\n|\n)/g, '' ); }); } // keep tags inside captions and convert line breaks - if ( pee.indexOf('[caption') != -1 ) { + if ( pee.indexOf( '[caption' ) !== -1 ) { preserve_br = true; - pee = pee.replace(/\[caption[\s\S]+?\[\/caption\]/g, function(a) { + pee = pee.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) { // keep existing - a = a.replace(/]*)>/g, ''); + a = a.replace( /]*)>/g, '' ); // no line breaks inside HTML tags - a = a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(b){ - return b.replace(/[\r\n\t]+/, ' '); + a = a.replace( /<[a-zA-Z0-9]+( [^<>]+)?>/g, function( b ) { + return b.replace( /[\r\n\t]+/, ' ' ); }); // convert remaining line breaks to - return a.replace(/\s*\n\s*/g, ''); + return a.replace( /\s*\n\s*/g, '' ); }); } pee = pee + '\n\n'; - pee = pee.replace(/\s*/gi, '\n\n'); - pee = pee.replace(new RegExp('(<(?:'+blocklist+')(?: [^>]*)?>)', 'gi'), '\n$1'); - pee = pee.replace(new RegExp('((?:'+blocklist+')>)', 'gi'), '$1\n\n'); - pee = pee.replace(/]*)?>/gi, '\n\n'); // hr is self closing block element - pee = pee.replace(/\r\n|\r/g, '\n'); - pee = pee.replace(/\n\s*\n+/g, '\n\n'); - pee = pee.replace(/([\s\S]+?)\n\n/g, '$1\n'); - pee = pee.replace(/\s*?<\/p>/gi, ''); - pee = pee.replace(new RegExp('\\s*(?(?:'+blocklist+')(?: [^>]*)?>)\\s*', 'gi'), "$1"); - pee = pee.replace(/(/gi, '$1'); - pee = pee.replace(/\s*]*)>/gi, ''); - pee = pee.replace(/<\/blockquote>\s*<\/p>/gi, ''); - pee = pee.replace(new RegExp('\\s*(?(?:'+blocklist+')(?: [^>]*)?>)', 'gi'), "$1"); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')(?: [^>]*)?>)\\s*', 'gi'), "$1"); - pee = pee.replace(/\s*\n/gi, '\n'); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')[^>]*>)\\s*', 'gi'), "$1"); - pee = pee.replace(/(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1'); - pee = pee.replace(/(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]'); + pee = pee.replace( /\s*/gi, '\n\n' ); + pee = pee.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' ); + pee = pee.replace( new RegExp( '((?:' + blocklist + ')>)', 'gi' ), '$1\n\n' ); + pee = pee.replace( /]*)?>/gi, '\n\n' ); // hr is self closing block element + pee = pee.replace( /\r\n|\r/g, '\n' ); + pee = pee.replace( /\n\s*\n+/g, '\n\n' ); + pee = pee.replace( /([\s\S]+?)\n\n/g, '$1\n' ); + pee = pee.replace( /\s*?<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(/gi, '$1'); + pee = pee.replace( /\s*]*)>/gi, ''); + pee = pee.replace( /<\/blockquote>\s*<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' ); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /\s*\n/gi, '\n'); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')[^>]*>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1' ); + pee = pee.replace( /(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]' ); - pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function(a, b, c) { - if ( c.match(/]*)?>/) ) + pee = pee.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) { + if ( c.match( /]*)?>/ ) ) { return a; + } return b + '' + c + ''; }); // put back the line breaks in pre|script - if ( preserve_linebreaks ) - pee = pee.replace(//g, '\n'); + if ( preserve_linebreaks ) { + pee = pee.replace( //g, '\n' ); + } - if ( preserve_br ) - pee = pee.replace(/]*)>/g, ''); + if ( preserve_br ) { + pee = pee.replace( /]*)>/g, '' ); + } return pee; }, - pre_wpautop : function(content) { + pre_wpautop: function( content ) { var t = this, o = { o: t, data: content, unfiltered: content }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforePreWpautop', [o]); - o.data = t._wp_Nop(o.data); - if ( q ) - jQuery('body').trigger('afterPreWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger( 'beforePreWpautop', [ o ] ); + } + + o.data = t._wp_Nop( o.data ); + + if ( q ) { + jQuery('body').trigger('afterPreWpautop', [ o ] ); + } return o.data; }, - wpautop : function(pee) { + wpautop: function( pee ) { var t = this, o = { o: t, data: pee, unfiltered: pee }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforeWpautop', [o]); - o.data = t._wp_Autop(o.data); - if ( q ) - jQuery('body').trigger('afterWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger('beforeWpautop', [ o ] ); + } + + o.data = t._wp_Autop( o.data ); + + if ( q ) { + jQuery( 'body' ).trigger('afterWpautop', [ o ] ); + } return o.data; } -} +};
]*>[\s\S]+?<\/\1>/g, function(a) { - return a.replace(/(\r\n|\n)/g, ''); + pee = pee.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) { + return a.replace( /(\r\n|\n)/g, '' ); }); } // keep tags inside captions and convert line breaks - if ( pee.indexOf('[caption') != -1 ) { + if ( pee.indexOf( '[caption' ) !== -1 ) { preserve_br = true; - pee = pee.replace(/\[caption[\s\S]+?\[\/caption\]/g, function(a) { + pee = pee.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) { // keep existing - a = a.replace(/]*)>/g, ''); + a = a.replace( /]*)>/g, '' ); // no line breaks inside HTML tags - a = a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(b){ - return b.replace(/[\r\n\t]+/, ' '); + a = a.replace( /<[a-zA-Z0-9]+( [^<>]+)?>/g, function( b ) { + return b.replace( /[\r\n\t]+/, ' ' ); }); // convert remaining line breaks to - return a.replace(/\s*\n\s*/g, ''); + return a.replace( /\s*\n\s*/g, '' ); }); } pee = pee + '\n\n'; - pee = pee.replace(/\s*/gi, '\n\n'); - pee = pee.replace(new RegExp('(<(?:'+blocklist+')(?: [^>]*)?>)', 'gi'), '\n$1'); - pee = pee.replace(new RegExp('((?:'+blocklist+')>)', 'gi'), '$1\n\n'); - pee = pee.replace(/]*)?>/gi, '\n\n'); // hr is self closing block element - pee = pee.replace(/\r\n|\r/g, '\n'); - pee = pee.replace(/\n\s*\n+/g, '\n\n'); - pee = pee.replace(/([\s\S]+?)\n\n/g, '$1\n'); - pee = pee.replace(/\s*?<\/p>/gi, ''); - pee = pee.replace(new RegExp('\\s*(?(?:'+blocklist+')(?: [^>]*)?>)\\s*', 'gi'), "$1"); - pee = pee.replace(/(/gi, '$1'); - pee = pee.replace(/\s*]*)>/gi, ''); - pee = pee.replace(/<\/blockquote>\s*<\/p>/gi, ''); - pee = pee.replace(new RegExp('\\s*(?(?:'+blocklist+')(?: [^>]*)?>)', 'gi'), "$1"); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')(?: [^>]*)?>)\\s*', 'gi'), "$1"); - pee = pee.replace(/\s*\n/gi, '\n'); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')[^>]*>)\\s*', 'gi'), "$1"); - pee = pee.replace(/(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1'); - pee = pee.replace(/(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]'); + pee = pee.replace( /\s*/gi, '\n\n' ); + pee = pee.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' ); + pee = pee.replace( new RegExp( '((?:' + blocklist + ')>)', 'gi' ), '$1\n\n' ); + pee = pee.replace( /]*)?>/gi, '\n\n' ); // hr is self closing block element + pee = pee.replace( /\r\n|\r/g, '\n' ); + pee = pee.replace( /\n\s*\n+/g, '\n\n' ); + pee = pee.replace( /([\s\S]+?)\n\n/g, '$1\n' ); + pee = pee.replace( /\s*?<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(/gi, '$1'); + pee = pee.replace( /\s*]*)>/gi, ''); + pee = pee.replace( /<\/blockquote>\s*<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' ); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /\s*\n/gi, '\n'); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')[^>]*>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1' ); + pee = pee.replace( /(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]' ); - pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function(a, b, c) { - if ( c.match(/]*)?>/) ) + pee = pee.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) { + if ( c.match( /]*)?>/ ) ) { return a; + } return b + '' + c + ''; }); // put back the line breaks in pre|script - if ( preserve_linebreaks ) - pee = pee.replace(//g, '\n'); + if ( preserve_linebreaks ) { + pee = pee.replace( //g, '\n' ); + } - if ( preserve_br ) - pee = pee.replace(/]*)>/g, ''); + if ( preserve_br ) { + pee = pee.replace( /]*)>/g, '' ); + } return pee; }, - pre_wpautop : function(content) { + pre_wpautop: function( content ) { var t = this, o = { o: t, data: content, unfiltered: content }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforePreWpautop', [o]); - o.data = t._wp_Nop(o.data); - if ( q ) - jQuery('body').trigger('afterPreWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger( 'beforePreWpautop', [ o ] ); + } + + o.data = t._wp_Nop( o.data ); + + if ( q ) { + jQuery('body').trigger('afterPreWpautop', [ o ] ); + } return o.data; }, - wpautop : function(pee) { + wpautop: function( pee ) { var t = this, o = { o: t, data: pee, unfiltered: pee }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforeWpautop', [o]); - o.data = t._wp_Autop(o.data); - if ( q ) - jQuery('body').trigger('afterWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger('beforeWpautop', [ o ] ); + } + + o.data = t._wp_Autop( o.data ); + + if ( q ) { + jQuery( 'body' ).trigger('afterWpautop', [ o ] ); + } return o.data; } -} +};
$1
\s*?<\/p>/gi, ''); - pee = pee.replace(new RegExp('
\\s*(?(?:'+blocklist+')(?: [^>]*)?>)\\s*
(
\s*
]*)>/gi, ''); - pee = pee.replace(/<\/blockquote>\s*<\/p>/gi, ''); - pee = pee.replace(new RegExp('\\s*(?(?:'+blocklist+')(?: [^>]*)?>)', 'gi'), "$1"); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')(?: [^>]*)?>)\\s*', 'gi'), "$1"); - pee = pee.replace(/\s*\n/gi, '\n'); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')[^>]*>)\\s*', 'gi'), "$1"); - pee = pee.replace(/(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1'); - pee = pee.replace(/(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]'); + pee = pee.replace( /\s*/gi, '\n\n' ); + pee = pee.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' ); + pee = pee.replace( new RegExp( '((?:' + blocklist + ')>)', 'gi' ), '$1\n\n' ); + pee = pee.replace( /]*)?>/gi, '\n\n' ); // hr is self closing block element + pee = pee.replace( /\r\n|\r/g, '\n' ); + pee = pee.replace( /\n\s*\n+/g, '\n\n' ); + pee = pee.replace( /([\s\S]+?)\n\n/g, '$1\n' ); + pee = pee.replace( /\s*?<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(/gi, '$1'); + pee = pee.replace( /\s*]*)>/gi, ''); + pee = pee.replace( /<\/blockquote>\s*<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' ); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /\s*\n/gi, '\n'); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')[^>]*>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1' ); + pee = pee.replace( /(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]' ); - pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function(a, b, c) { - if ( c.match(/]*)?>/) ) + pee = pee.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) { + if ( c.match( /]*)?>/ ) ) { return a; + } return b + '' + c + ''; }); // put back the line breaks in pre|script - if ( preserve_linebreaks ) - pee = pee.replace(//g, '\n'); + if ( preserve_linebreaks ) { + pee = pee.replace( //g, '\n' ); + } - if ( preserve_br ) - pee = pee.replace(/]*)>/g, ''); + if ( preserve_br ) { + pee = pee.replace( /]*)>/g, '' ); + } return pee; }, - pre_wpautop : function(content) { + pre_wpautop: function( content ) { var t = this, o = { o: t, data: content, unfiltered: content }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforePreWpautop', [o]); - o.data = t._wp_Nop(o.data); - if ( q ) - jQuery('body').trigger('afterPreWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger( 'beforePreWpautop', [ o ] ); + } + + o.data = t._wp_Nop( o.data ); + + if ( q ) { + jQuery('body').trigger('afterPreWpautop', [ o ] ); + } return o.data; }, - wpautop : function(pee) { + wpautop: function( pee ) { var t = this, o = { o: t, data: pee, unfiltered: pee }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforeWpautop', [o]); - o.data = t._wp_Autop(o.data); - if ( q ) - jQuery('body').trigger('afterWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger('beforeWpautop', [ o ] ); + } + + o.data = t._wp_Autop( o.data ); + + if ( q ) { + jQuery( 'body' ).trigger('afterWpautop', [ o ] ); + } return o.data; } -} +};
'); - pee = pee.replace(/<\/blockquote>\s*<\/p>/gi, '
\\s*(?(?:'+blocklist+')(?: [^>]*)?>)', 'gi'), "$1"); - pee = pee.replace(new RegExp('(?(?:'+blocklist+')(?: [^>]*)?>)\\s*
|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]'); + pee = pee.replace( /\s*/gi, '\n\n' ); + pee = pee.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' ); + pee = pee.replace( new RegExp( '((?:' + blocklist + ')>)', 'gi' ), '$1\n\n' ); + pee = pee.replace( /
\s*?<\/p>/gi, ''); + pee = pee.replace( new RegExp( '
\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*
]*)>/gi, ''); + pee = pee.replace( /<\/blockquote>\s*<\/p>/gi, ''); + pee = pee.replace( new RegExp( '\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' ); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /\s*\n/gi, '\n'); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')[^>]*>)\\s*', 'gi' ), '$1' ); + pee = pee.replace( /(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1' ); + pee = pee.replace( /(?:|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]' ); - pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function(a, b, c) { - if ( c.match(/]*)?>/) ) + pee = pee.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) { + if ( c.match( /]*)?>/ ) ) { return a; + } return b + '' + c + ''; }); // put back the line breaks in pre|script - if ( preserve_linebreaks ) - pee = pee.replace(//g, '\n'); + if ( preserve_linebreaks ) { + pee = pee.replace( //g, '\n' ); + } - if ( preserve_br ) - pee = pee.replace(/]*)>/g, ''); + if ( preserve_br ) { + pee = pee.replace( /]*)>/g, '' ); + } return pee; }, - pre_wpautop : function(content) { + pre_wpautop: function( content ) { var t = this, o = { o: t, data: content, unfiltered: content }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforePreWpautop', [o]); - o.data = t._wp_Nop(o.data); - if ( q ) - jQuery('body').trigger('afterPreWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger( 'beforePreWpautop', [ o ] ); + } + + o.data = t._wp_Nop( o.data ); + + if ( q ) { + jQuery('body').trigger('afterPreWpautop', [ o ] ); + } return o.data; }, - wpautop : function(pee) { + wpautop: function( pee ) { var t = this, o = { o: t, data: pee, unfiltered: pee }, - q = typeof(jQuery) != 'undefined'; + q = typeof( jQuery ) !== 'undefined'; - if ( q ) - jQuery('body').trigger('beforeWpautop', [o]); - o.data = t._wp_Autop(o.data); - if ( q ) - jQuery('body').trigger('afterWpautop', [o]); + if ( q ) { + jQuery( 'body' ).trigger('beforeWpautop', [ o ] ); + } + + o.data = t._wp_Autop( o.data ); + + if ( q ) { + jQuery( 'body' ).trigger('afterWpautop', [ o ] ); + } return o.data; } -} +};
'); + pee = pee.replace( /<\/blockquote>\s*<\/p>/gi, '
\\s*(?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' ); + pee = pee.replace( new RegExp( '(?(?:' + blocklist + ')(?: [^>]*)?>)\\s*
|)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|)*/gi, '[caption$1[/caption]' ); - pee = pee.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function(a, b, c) { - if ( c.match(/
]*)?>/) ) + pee = pee.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) { + if ( c.match( /
]*)?>/ ) ) { return a; + } return b + '
' + c + '