export function htmlNormalizer(htmlInput) { let str = htmlInput; // We are normalizing the input from contenteditable of each browser, also removing unnecesary html tags // https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content#Differences_in_markup_generation // Old browsers uses `p` normalize to `div` instead. str = str .replace(/

/g, '

') // IE and old browsers outputs

instead of

s .replace(/<\/p>/g, '
'); // IE and old browsers outputs

instead of

s // Remove first opening tag, otherwise // with the following transformation below // we might add an unintended first empty line. if (str.startsWith('
')) { str = str.replace('
', ''); } // Normalize
s to
. return str.replace(/
/g, '
').replace(/<\/div>/g, ''); }