public/ckeditor/4.4dev/core/tools.js
function( styleText, normalize, nativeNormalize ) {
			var retval = {};

			if ( nativeNormalize ) {
				// Injects the style in a temporary span object, so the browser parses it,
				// retrieving its final format.
				var temp = new CKEDITOR.dom.element( 'span' );
				temp.setAttribute( 'style', styleText );
				styleText = CKEDITOR.tools.convertRgbToHex( temp.getAttribute( 'style' ) || '' );
			}

			// IE will leave a single semicolon when failed to parse the style text. (#3891)
			if ( !styleText || styleText == ';' )
				return retval;

			styleText.replace( /&quot;/g, '"' ).replace( /\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g, function( match, name, value ) {
				if ( normalize ) {
					name = name.toLowerCase();
					// Normalize font-family property, ignore quotes and being case insensitive. (#7322)
					// http://www.w3.org/TR/css3-fonts/#font-family-the-font-family-property
					if ( name == 'font-family' )
						value = value.toLowerCase().replace( /["']/g, '' ).replace( /\s*,\s*/g, ',' );
					value = CKEDITOR.tools.trim( value );
				}

				retval[ name ] = value;
			} );
			return retval;
		}
function( styleText, normalize, nativeNormalize ) {
			var retval = {};

			if ( nativeNormalize ) {
				// Injects the style in a temporary span object, so the browser parses it,
				// retrieving its final format.
				var temp = new CKEDITOR.dom.element( 'span' );
				temp.setAttribute( 'style', styleText );
				styleText = CKEDITOR.tools.convertRgbToHex( temp.getAttribute( 'style' ) || '' );
			}

			// IE will leave a single semicolon when failed to parse the style text. (#3891)
			if ( !styleText || styleText == ';' )
				return retval;

			styleText.replace( /&quot;/g, '"' ).replace( /\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g, function( match, name, value ) {
				if ( normalize ) {
					name = name.toLowerCase();
					// Normalize font-family property, ignore quotes and being case insensitive. (#7322)
					// http://www.w3.org/TR/css3-fonts/#font-family-the-font-family-property
					if ( name == 'font-family' )
						value = value.toLowerCase().replace( /["']/g, '' ).replace( /\s*,\s*/g, ',' );
					value = CKEDITOR.tools.trim( value );
				}

				retval[ name ] = value;
			} );
			return retval;
		}
function ( styleText , normalize , nativeNormalize ) { var retval = { } ; if ( nativeNormalize ) { // Injects the style in a temporary span object, so the browser parses it, // retrieving its final format. var temp = new CKEDITOR . dom . element ( 'span' ) ; temp . setAttribute ( 'style' , styleText ) ; styleText = CKEDITOR . tools . convertRgbToHex ( temp . getAttribute ( 'style' ) || '' ) ; } // IE will leave a single semicolon when failed to parse the style text. (#3891) if ( ! styleText || styleText == ';' ) return retval ; styleText . replace ( / &quot; / g , '"' ) . replace ( / \s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$) / g , function ( match , name , value ) { if ( normalize ) { name = name . toLowerCase ( ) ; // Normalize font-family property, ignore quotes and being case insensitive. (#7322) // http://www.w3.org/TR/css3-fonts/#font-family-the-font-family-property if ( name == 'font-family' ) value = value . toLowerCase ( ) . replace ( / ["'] / g , '' ) . replace ( / \s*,\s* / g , ',' ) ; value = CKEDITOR . tools . trim ( value ) ; } retval [ name ] = value ; } ) ; return retval ; }
Turns inline style text properties into one hash.

@param {String} styleText The style data to be parsed.
@param {Boolean} [normalize=false] Normalize properties and values
(e.g. trim spaces, convert to lower case).
@param {Boolean} [nativeNormalize=false] Parse the data using the browser.
@returns {Object} The object containing parsed properties.
Turns inline style text properties into one hash .