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

Encontrar palavras em texto HTML e criar link


Guest --tiagorrocha --

Pergunta

Guest --tiagorrocha --

Ola pessoal

Estou com um problemão, é o seguinte, eu preciso carregar uma página HTML com um texto, e em determinadas palavras deste texto eu preciso criar um link, por exemplo, quando eu carregar um texto e tiver a palavra "Tiago" eu preciso criar um link.

Se alguém tiver algum algoritmo para isto será muito bem vindo.

Atenciosamente,

Tiago Rocha

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

É o mister mandou muito bem naquele script.

Mas para isso, eu vejo uma forma mais prática e rápida usando expressões regulares:

function criaLink
(chave, texto, f, url)  // f é uma função que recebe o texto tratado como argumento.
{
    var re=eval("\/\\b"+chave+"\\b\/g")
    var texto=texto.replace(re, chave.link(url))
    f(texto)

}

Tem 4 argumentos:

chave: Valor que está procutando. Ex: "Tiago"

texto: O texto que vai ser procurado.

f: Função passada como argumento, que irá decidir o que fazer com o texto tratado.

url: Url onde quer que seus links abra.

Fiz um exemplo bem prático aqui:


<html>
<head>
<title></title>
<script>

var $id=function(id){return document.getElementById(id)}

function criaLink
(chave, texto, f, url) // f é uma função que recebe o texto tratado como argumento.
{
var re=eval("\/\\b"+chave+"\\b\/g")
var texto=texto.replace(re, chave.link(url))
f(texto)

}

window.onload=function(){
$id('botao').onclick=function(){
criaLink(
$id('chave').value,
$id('texto').value,
function(string){$id('resposta').innerHTML=string},
"http://minhaPagina.com.br/"
)
}
}

</script>

<style>
textarea{
width:400px; height:200px;
border:1px solid silver
}
</style>
</head>



<body>

<div id="resposta"></div>


<textarea id="texto">


</textarea>
<input type="text" id="chave" />
<input type="button" id="botao" value="Envia" />



</body>
</html>
[/codebox]

Aí é só alterar da maneira que desejar.

Lembrando que eu fiz a função para que funcione com palavras apenas. Então, ao colocar um "com" no input text e enviar, ele só vai procurar pela palavra "com" sem derivados, como comportamento, comprimento, comitiva etc.

Aquele abraço.

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...