Entendi, para o meu caso o roblema que eu estou tentando resolver é o seguinte.
Eu preciso transformar determinadas palavras de um texto em links usando javascript, então todas as ocorrências destas palavras serão substituídas por links. Entretanto o link só pode ser aplicado se a palavra do texto for exatamente igual a palavra da lista.
o código completo é o seguinte
<script type="text/javascript">
(function($){
$.fn.loadLinks = function(termo) {
for (i in termo) {
var conteudo = $(this).html();
var linkStart = '<a href="' + termo[i] + '" target="_blank">', linkEnd = '</a>';
var reg = new RegExp('(?=\\W|^|\\b)'+ i +'(?=\\W|$)', 'g');
conteudo = conteudo.replace(reg, linkStart + i + linkEnd);
$(this).html(conteudo);
}
}
})(jQuery);
lista = {
'ônibus' : '
http://www.texto.com',
'terra' : '
http://www.gogle.com.br',
'você' : '
http://www.php.net',
'minha casa' : '
http://www.minhacasa.com'
}
$('#texto').loadLinks(lista);
</script>
com o RegExp('(?=\\W|^|\\b)'+ i +'(?=\\W|$)', 'g'); pelos meus testes está funcionando para todas as situações com exceção do caso, onde se a palavra for iniciada por uma letra com acento e se ela fizer parte de uma palavra um link é gerado pra ela...
por exemplo:
"Um
ônibus e um micro
ônibus partem às 7"
sendo que o o correto era ficar assim
"Um
ônibus e um microônibus partem às 7"
Obrigado.