我需要获取用户选择的 textarea 区域,然后在<a>
其周围插入标签。
我用它来获取用户选择的区域:
var textComponent = document.getElementById('article');
var selectedText;
if (document.selection != undefined)
{
textComponent.focus();
var sel = document.selection.createRange();
selectedText = sel.text;
}
// Mozilla version
else if (textComponent.selectionStart != undefined)
{
var startPos = textComponent.selectionStart;
var endPos = textComponent.selectionEnd;
selectedText = textComponent.value.substring(startPos, endPos)
}
现在,我知道我可以对用户选择的文本进行字符串搜索并在其周围插入一个标签,但是如果该用户选择的文本在文本中出现两次会发生什么情况。
你好,再见。
如果用户为他们想要的链接突出显示第二个“你”,那么字符串替换肯定会在“你”的每个实例周围放置一个标签。
最好的方法是什么?