Доброго времени суток.
У меня есть текстовое поле с htmlText'ом.
Весь текст в поле разбит на параграфы а ля

Код:
<p attr1 = "" attr2=""><span attr1="" attr2="">Текст тут</span></p>
И таких много. Внутри параграфов могут быть ещё спаны, тэги форматирования <b><i><u>. Параграфа внутри другого параграфа не бывает.
Проблема вот в чём : мне нужно при выделении текста задать ему форматирование ( скажем bold ), и если я выберу текст таким образом, чтобы часть из него принадлежала одному параграфу, часть другому, то
.selectedText вернёт нам чистый выбранный текст ( без хтмл ). Я могу написать нечто вроде

Код AS3:
var temp:String = canvas.selectedText;
temp = '<b>' + temp + '</b>';
canvas.htmlText = canvas.text.substr(0, canvas.selectionBeginIndex) + temp +canvas.text.substr(canvas.selectionEndIndex);
но тогда я потеряю все тэги находящиеся между параграфами.
Как этого избежать?