Range.text=(rtf/doc clipBoard) creates <BR> for linebreak, and <P> for double linebreaks, in innerText ... Likewise contentEditable Enter creates <P> and Shift-Enter creates <BR>.
However, innerText.replace(RegExp/gmi) doesn't maintain the <P> v. <BR> distinction.
So ... pre-replace <\/?P> with <BR> to get <BR><BR> as a simulated maintenance.