HTML Encode

Date: 2019-07-17
(_ => {
	const data = "Viv\u00E9mus vitae #^$*&^)!&<> \/\\[] nunc sit amet purus ultrices ultricies. â, ê, î, ô, û, ŵ, ŷ, ä, ë, ï, ö, ü, ẅ, ÿ, à, è, ì, ò, ù, ẁ, ỳ, á, é, í, ó, ú, ẃ, ý Sed porta neque ut purus semper aliquet. Integer ac enim ac magna rutrum placerat eu quis quam. Fusce semper vulputate dolor, nec finibus metus bibendum vitae. Duis lacinia elit nunc, ut laoreet tellus ornare at. Praesent laoreet arcu consectetur justo laoreet, ut commodo sapien congue. Curabitur nec molestie tortor, at eleifend leo. Ut imperdiet lorem et orci eleifend, faucibus condimentum ante placerat. Quisque sed iaculis nisl, et venenatis tellus. Duis rhoncus risus pulvinar mollis iaculis. Nullam sit amet sollicitudin tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam suscipit felis arcu, et hendrerit nunc sollicitudin sed. Aenean nec mollis nisl, eget lacinia diam. Fusce arcu mauris, aliquam interdum quam a, imperdiet luctus nunc.\r\n\r\nInteger quis lacinia sapien, elementum ullamcorper nibh. Sed ultricies commodo tempus. Mauris elit ex, sodales vitae blandit in, ultrices et nisl. Cras bibendum, tellus in rhoncus blandit, ante ante consectetur risus, id pellentesque lectus urna nec tellus. Sed a tincidunt nunc. Vestibulum neque nulla, placerat vel nisi nec, venenatis suscipit diam. Integer orci dui, tincidunt sed elit non, pretium vestibulum ex. Curabitur malesuada lacus sem, id efficitur felis dictum vitae. Fusce molestie, ex a auctor tempor, quam mi laoreet urna, nec bibendum leo quam et turpis. Duis ornare lacinia neque vel ornare. Integer vitae est sed lorem mattis interdum. Cras imperdiet magna at tempor ultrices. Morbi eu iaculis eros. Suspendisse sodales nulla convallis justo molestie interdum.";

    const htmlEncode = (source) => {
        let i = 0;
        const result = [];
        let line = [];
        const next = () => source.charAt(i++);
        const endline = () => {
            result.push(line.join(""));
            line = [];
        };
        // Push a character or its entity onto the current line
        const push = (ch) => {
            const code = ch.charCodeAt(0)
            if (code === 10) {
                endline();
            } else if (code < 32) {
                return;
			} else if (code < 127) {
                line.push(ch);
            } else {
                line.push(`&#${code};`);
            }
        };
        while (i < source.length) {
			push(next());
        }
        endline();
        return result.join("\r\n<br />");
    };    
    
    document.body.innerHTML = htmlEncode(data);
})();
23940cookie-checkHTML Encode