Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como marcar uma palavra no site sem que ela esteja entre/d


matheus.labanca

Pergunta

Boa tarde.

Estou fazendo uma funcao que te de pegar o texto em uma div e encontrar nele algumas palavras chaves e colocar um link. Essas palavras não podem estar dentro de uma tag html e nem entre elas. Ex: quero marcar a palavra dia mas essas aqui não poderiam ser marcadas

<a href='http://www.globo.com'> dia </a>

<img src="img/dia.jpg" id="dia">

Mas não está dando muito certo, e eu não tenho tanta experiência em regexp.

alguém pode dar uma ajuda.

segue o cod:

window.onload = function() {

var palavras_chave = ["Jogador", "dia", "torcida", "matheus", "futebol"];

encontra_palavras(pega_texto_div(),palavras_chave) ;

}

//PEGA O CONTEÚDO DE UMA DIV

function pega_texto_div() {

//recupera o texto da div

var texto = document.getElementById( "texto_spider" ).innerHTML;

return texto

}

//SUBISTITUI AS PALAVRAS CHAVE POR UM LINK

function encontra_palavras(conteudo_div,lista_palavras) {

for( var i = 0; i < lista_palavras.length; i++) {

var reg = new RegExp( "([A-Za-z0-9\.\,\-\s\?\!\;\:\(\)][^A-Za-z0-9\/\<\>])("+ lista_palavras +")([^A-Za-z0-9\/\<\>][A-Za-z0-9\.\,\-\s\?\!\;\:\(\)])", "i" ); // expressão regular que acha as palavras

conteudo_div = conteudo_div.replace( reg, "$1<a href='http://www.google.com.br'>$2</a>$3" ); //troca o texto da página para o texto com o link

}

document.getElementById( "texto_spider" ).innerHTML = conteudo_div; //insere o texto novamente

}

Obrigado por enquanto

Editado por matheus.labanca
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Se você quiser selecionar somente palavras inteiras coloque desse jeito

var reg = new RegExp("(.?)( )("+ lista_palavras[i] +")( )(.?)", "gi");
conteudo_div = conteudo_div.replace( reg, "$1$2<a href='http://www.google.com.br'>$3</a>$4$5" );
Se quizer dividir palavras <a href="...">dia</a>s por exemplo
var reg = new RegExp("(.?)("+ lista_palavras[i] +")(.?)", "gi"); 
conteudo_div = conteudo_div.replace( reg, "$1<a href='http://www.google.com.br'>$2</a>$3" );

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...