X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/fdd62169ba22c4c1be2f2306b5339eadd74ffb6d..a85740df875a17b21d94b777b4152e77dbae6e28:/redakcja/static/js/wiki/xslt.js diff --git a/redakcja/static/js/wiki/xslt.js b/redakcja/static/js/wiki/xslt.js index ff36666f..a97322a5 100644 --- a/redakcja/static/js/wiki/xslt.js +++ b/redakcja/static/js/wiki/xslt.js @@ -59,12 +59,15 @@ function withThemes(code_block, onError) function xml2html(options) { + ALIEN_REGEX = /([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g; + withStylesheets(function() { var xml = options.xml.replace(/\/(\s+)/g, '
$1'); - xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '$1'); +// xml = xml.replace(/([^a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s<>«»\\*_!,:;?&%."'=#()\/-]+)/g, '$1'); var parser = new DOMParser(); var serializer = new XMLSerializer(); var doc = parser.parseFromString(xml, 'text/xml'); + walk(doc.firstChild, wrapInTag(ALIEN_REGEX, 'alien')) var error = $('parsererror', doc); if (error.length == 0) { @@ -253,7 +256,7 @@ HTMLSerializer.prototype.serialize = function(rootElement, stripOuter) break; case TEXT_NODE: self.result += text_buffer; - text_buffer = token.node.nodeValue.replace('&', '&').replace('<', '<'); + text_buffer = token.node.nodeValue.replace(/&/g, '&').replace(/