OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
core
/
test
/
ts
/
module
/
test
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:15:07 AM
rwxr-xr-x
📄
AnnotationAsserts.ts
1.96 KB
02/20/2020 06:15:10 AM
rw-r--r--
📄
CaretAsserts.ts
1.54 KB
02/20/2020 06:15:10 AM
rw-r--r--
📄
HtmlUtils.ts
1.17 KB
02/20/2020 06:15:11 AM
rw-r--r--
📄
KeyUtils.ts
3.66 KB
02/20/2020 06:15:11 AM
rw-r--r--
📄
TypeText.ts
1.59 KB
02/20/2020 06:15:12 AM
rw-r--r--
📄
ViewBlock.ts
733 bytes
02/20/2020 06:15:12 AM
rw-r--r--
Editing: HtmlUtils.ts
Close
import Writer from 'tinymce/core/api/html/Writer'; import SaxParser from 'tinymce/core/api/html/SaxParser'; const cleanHtml = function (html) { return html.toLowerCase().replace(/[\r\n]+/gi, '') .replace(/ (sizcache[0-9]+|sizcache|nodeindex|sizset[0-9]+|sizset|data\-mce\-expando|data\-mce\-selected)="[^"]*"/gi, '') .replace(/<span[^>]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>|<div[^>]+data-mce-bogus[^>]+><\/div>/gi, '') .replace(/ style="([^"]+)"/gi, function (val1, val2) { val2 = val2.replace(/;$/, ''); return ' style="' + val2.replace(/\:([^ ])/g, ': $1') + ';"'; }); }; const normalizeHtml = function (html) { const writer = Writer(); SaxParser({ validate: false, comment: writer.comment, cdata: writer.cdata, text: writer.text, end: writer.end, pi: writer.pi, doctype: writer.doctype, start (name, attrs, empty) { attrs.sort(function (a, b) { if (a.name === b.name) { return 0; } return a.name > b.name ? 1 : -1; }); writer.start(name, attrs, empty); } }).parse(html); return writer.getContent(); }; export default { cleanHtml, normalizeHtml };