Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

corauci

Link para uma palavra

Recommended Posts

Ola, gostaria de saber se é possível sempre que uma palavra aparecer em uma determinada parte do site seja atribuido um link para esta palavra, pensei em algo com JavaScript, mas não encontrei nada na net para me ajudar.

 

Vou dar um exemplo:

 

Toda vez que a palavra iMasters aparecesse seria atribuido o link http://forum.imasters.com.br/ para esta palavra.

 

Alguém poderia me socorrer?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui, desenvolvi o seguinte código.

 

window.onload = function()
{
   // Pega todos os nomes que aparecem dentro da tag p
   var elementos = document.getElementsByTagName('p');
   for(var i = 0; i <= elementos.length-1; i++)
   {
       var texto = elementos[i].textContent;

       if(typeof texto != "undefined" && texto != "")
       {
           // O que você quer que apareça
           var trocaPor = '<a href="http://www.google.com.br" title="">'+ texto.split(' ')[0] + '</a>';
           // O que você quer trocar
           var trocaIsso = /\bDiego\b/g;

           elementos[i].innerHTML = texto.replace(trocaIsso, trocaPor)

       }
   }
}

 

Vamos a explicação.

 

Coloque o código antes da tag </head>

 

Lá em cima, a variável elementos pega todos as ocorrências no elemento p, se você quiser que seja entre âncoras ou divs, fica a seu critério.

 

A variável trocaIsso procura as ocorrências que você quer, no meu caso, foi a palavra "Diego".

 

Exemplo:

 

<p>Diego</p>

 

Ele vai substituir a palavra Diego por uma âncora que possui a url da google. Isso fica a seu critério, você pode pesquisar o que quiser.

 

O mínimo exigível para entender o código é saber Expressões Regulares.

 

:clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu, mas e se eu quizer fazer para mais de uma palavra por exemplo: para a palavra site um link para a palavra imaster outro link e para foruns outro links é possível? Outra coisa no IE não funciona, funcionou no Fire e no Chrome mas no IE não

Compartilhar este post


Link para o post
Compartilhar em outros sites

Armazene as palavras em um array, percorra todos os índices com um for() e use uma expressão regular para percorrer o texto e ir dando replace() palavra por palavra como se fosse um BBCode.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem algum exemplo para passar?

 

Mais?

Eu já te dei tudo o_______________o. Só falta você ir e implementar :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.