UNPKG

ckeditor5-image-upload-base64

Version:

The development environment of CKEditor 5 – the best browser-based rich text editor.

39 lines (33 loc) 1.04 kB
/** * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ /** * @module clipboard/utils/plaintexttohtml */ /** * Converts plain text to its HTML-ized version. * * @param {String} text The plain text to convert. * @returns {String} HTML generated from the plain text. */ export default function plainTextToHtml( text ) { text = text // Encode <>. .replace( /</g, '&lt;' ) .replace( />/g, '&gt;' ) // Creates paragraphs for every line breaks. .replace( /\n/g, '</p><p>' ) // Preserve trailing spaces (only the first and last one – the rest is handled below). .replace( /^\s/, '&nbsp;' ) .replace( /\s$/, '&nbsp;' ) // Preserve other subsequent spaces now. .replace( /\s\s/g, ' &nbsp;' ); if ( text.indexOf( '</p><p>' ) > -1 ) { // If we created paragraphs above, add the trailing ones. text = `<p>${ text }</p>`; } // TODO: // * What about '\nfoo' vs ' foo'? return text; }