/*\r
-Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
shy : '\u00AD', // IE\r
gt : '\u003E', // IE | FF | -- | Opera\r
lt : '\u003C', // IE | FF | Safari | Opera\r
- amp : '\u0026' // ALL\r
+ amp : '\u0026', // ALL\r
+ apos : '\u0027', // IE\r
+ quot : '\u0022' // IE\r
};\r
\r
- entities = entities.replace( /\b(nbsp|shy|gt|lt|amp)(?:,|$)/g, function( match, entity )\r
+ entities = entities.replace( /\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g, function( match, entity )\r
{\r
var org = reverse ? '&' + entity + ';' : specialTable[ entity ],\r
result = reverse ? specialTable[ entity ] : '&' + entity + ';';\r
if ( htmlFilter )\r
{\r
// Mandatory HTML base entities.\r
- var selectedEntities = '';\r
+ var selectedEntities = [];\r
\r
if ( config.basicEntities !== false )\r
- selectedEntities += htmlbase;\r
+ selectedEntities.push( htmlbase );\r
\r
if ( config.entities )\r
{\r
- selectedEntities += ',' + entities;\r
+ if ( selectedEntities.length )\r
+ selectedEntities.push( entities );\r
+\r
if ( config.entities_latin )\r
- selectedEntities += ',' + latin;\r
+ selectedEntities.push( latin );\r
\r
if ( config.entities_greek )\r
- selectedEntities += ',' + greek;\r
+ selectedEntities.push( greek );\r
\r
if ( config.entities_additional )\r
- selectedEntities += ',' + config.entities_additional;\r
+ selectedEntities.push( config.entities_additional );\r
}\r
\r
- var entitiesTable = buildTable( selectedEntities );\r
+ var entitiesTable = buildTable( selectedEntities.join( ',' ) );\r
\r
// Create the Regex used to find entities in the text, leave it matches nothing if entities are empty.\r
var entitiesRegex = entitiesTable.regex ? '[' + entitiesTable.regex + ']' : 'a^';\r