wp/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js
changeset 16 a86126ab1dd4
parent 7 cf61fcea0001
equal deleted inserted replaced
15:3d4e9c994f10 16:a86126ab1dd4
    50 	}
    50 	}
    51 
    51 
    52 	/**
    52 	/**
    53 	 * Escapes characters for use in a Regular Expression.
    53 	 * Escapes characters for use in a Regular Expression.
    54 	 *
    54 	 *
    55 	 * @param  {String} string Characters to escape
    55 	 * @param {String} string Characters to escape
    56 	 *
    56 	 *
    57 	 * @return {String}        Escaped characters
    57 	 * @return {String} Escaped characters
    58 	 */
    58 	 */
    59 	function escapeRegExp( string ) {
    59 	function escapeRegExp( string ) {
    60 		return string.replace( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&' );
    60 		return string.replace( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&' );
    61 	}
    61 	}
    62 
    62 
   118 			var endOffset;
   118 			var endOffset;
   119 			var pattern;
   119 			var pattern;
   120 			var format;
   120 			var format;
   121 			var zero;
   121 			var zero;
   122 
   122 
   123 			// We need a non empty text node with an offset greater than zero.
   123 			// We need a non-empty text node with an offset greater than zero.
   124 			if ( ! node || node.nodeType !== 3 || ! node.data.length || ! offset ) {
   124 			if ( ! node || node.nodeType !== 3 || ! node.data.length || ! offset ) {
   125 				return;
   125 				return;
   126 			}
   126 			}
   127 
   127 
   128 			var string = node.data.slice( 0, offset );
   128 			var string = node.data.slice( 0, offset );
   147 				endOffset = offset - p.delimiter.length;
   147 				endOffset = offset - p.delimiter.length;
   148 
   148 
   149 				var before = string.charAt( startOffset - 1 );
   149 				var before = string.charAt( startOffset - 1 );
   150 				var after = string.charAt( startOffset + p.delimiter.length );
   150 				var after = string.charAt( startOffset + p.delimiter.length );
   151 
   151 
   152 				// test*test* => format applied
   152 				// test*test*  => format applied.
   153 				// test *test* => applied
   153 				// test *test* => applied.
   154 				// test* test* => not applied
   154 				// test* test* => not applied.
   155 				if ( startOffset && /\S/.test( before ) ) {
   155 				if ( startOffset && /\S/.test( before ) ) {
   156 					if ( /\s/.test( after ) || before === delimiterFirstChar ) {
   156 					if ( /\s/.test( after ) || before === delimiterFirstChar ) {
   157 						return;
   157 						return;
   158 					}
   158 					}
   159 				}
   159 				}