Colocar um texto realçado pelo usuário em volta das tags?
Eu preciso para obter o usuário selecionado área de uma área de texto e, em seguida, insira<a>
tags redondas.
Eu uso isso para obter a área selecionada pelo usuário:
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)
}
Agora, eu sei que posso fazer uma pesquisa por cadeia de caracteres para o texto selecionado pelo usuário e inserir tags em torno dele, mas o que acontece se o texto selecionado pelo usuário aparecer duas vezes no texto, por exemplo.
Olá a você, adeus a você.
Se o usuário destacar o segundo "você" para o link que deseja, com certeza uma substituição de string colocaria uma tag em cada instância de "você".
Qual é a melhor forma de fazer isso?