private void CreateItemCloze() { try { var parentEl = Svc.SM.UI.ElementWdw.CurrentElement; if (parentEl == null || parentEl.Type == ElementType.Item) { return; } var selObj = ContentUtils.GetSelectionObject(); string selText = selObj?.htmlText; if (selObj == null || string.IsNullOrEmpty(selText)) { return; } var htmlCtrl = ContentUtils.GetFocusedHtmlCtrl(); var htmlDoc = htmlCtrl?.GetDocument(); if (htmlDoc == null) { return; } selObj.pasteHTML("[...]"); string questionChild = htmlDoc.body.innerHTML.Replace("[...]", "<SPAN class=cloze>[...]</SPAN>"); int MaxTextLength = 2000000000; selObj.moveEnd("character", MaxTextLength); selObj.moveStart("character", -MaxTextLength); selObj.findText("[...]"); selObj.select(); selObj.pasteHTML("<SPAN class=clozed>" + selText + "</SPAN>"); string parentContent = htmlDoc.body.innerHTML; htmlCtrl.Text = parentContent; var references = ReferenceParser.GetReferences(parentContent); CreateSMElement(RemoveReferences(questionChild), selText, references); } catch (RemotingException) { } }