Есть довольно неплохой текстовый редактор, работающий на contenteditable. Однако, появилась потребность устранить небольшой баг. Есть абзац содержащий строку в жирном начертании:
<p><strong>Hello World</strong></p>
При переносе строки текст разбивается на 2 абзаца.
<p><strong>Hello </strong></p>
<p><strong>World</strong></p>
Проблема в том, что при возврате строки в один абзац (через del или backspace) появляется дубль тега strong:
<p><strong>Hello </strong><strong>World</strong></p>
Как возможно удалить дубль тегов </strong><strong>? Та же ситуация и с другими тегами, например em. Предполагаю, что нужна регулярка... но не очень понятно, какая именно...
Кроме того, задача усложняется наличием вложенных тегов:
<p><strong><em>Hello </em></strong><strong><em>World!</em></strong></p>