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
JavaScript
/**
* @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, '<' )
.replace( />/g, '>' )
// 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/, ' ' )
.replace( /\s$/, ' ' )
// Preserve other subsequent spaces now.
.replace( /\s\s/g, ' ' );
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;
}