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)
}
これで、ユーザーが選択したテキストの文字列検索を実行し、その周りにタグを挿入できることがわかりましたが、たとえば、ユーザーが選択したテキストがテキストに2回表示された場合はどうなりますか。
こんにちは、さようなら。
ユーザーが必要なリンクの2番目の「あなた」を強調表示した場合、文字列の置換により、「あなた」のすべてのインスタンスの周りにタグが配置されます。
これを行うための最良の方法は何ですか?