HomeJavascriptLinks de Afiliados com Javascript - Update

01

Set

Links de Afiliados com Javascript - Update

Escrito por Gonçalo Martins   


No inicio do ano escrevi um artigo onde dáva a conhecer uma forma de criar links de afiliados com Javascript e PHP. Esse mesmo artigo pode ser consultado em Links de afiliados com javascript e Php do qual se aconselha a leitura para melhor entender este artigo.

O objetivo deste update ao script apresentado no artigo anteriormente referido é o de corrigir alguns problemas que surgiram com a utilização e implementação do mesmo.


Que problemas são esses?


O seguinte script é o que apresentei anteriormente.

javascript
  1. <script type="text/javascript">
  2.   var msg=document.getElementById("content").innerHTML;
  3.   msg=msg.replace(/palavra/gi,"<a href='/links.php?m=link2'>palavra</a>");
  4.   document.getElementById("content").innerHTML=msg;
  5.  
  6. </script>

 

Este script percorre um determinado texto em busca das palavras definidas e substituías por um link. No entanto, caso a palavra definida se encontre contida dentro de um link ou dentro de uma imagem o script iria gerar código parecido com os exemplos que lhe darei de seguida.

Caso seja um link:
<a alt="isto é uma palavra">palavra</a>
<a alt="isto é uma <a href='/links.php?m=link2'>palavra</a>"><a href='/links.php?m=link2'>palavra</a></a>

No caso de uma imagem:
<img src="/caminho/umapalavra.jgp"/>
<img src="/caminho/uma<a href='/links.php?m=link2'>palavra</a>.jpg"/>

Como pode denotar o código acima criará problemas se o trecho de texto a substituir conter imagens ou links que incluam a palavra a ser substituída por um link de afiliado.

A solução passa por modificar o script para que este guarde todos os links e imagens sob o formato de um marcador que seja substituído mais tarde. O script ficará algo do género: 

javascript
  1. <script type="text/javascript">
  2. //weblouca.com - AffLinks
  3. //Licença Creative Commons Atribuição-Uso Não-Comercial 2.5 Portugal
  4. //@Gonçalo Martins
  5. //V2 - 1 Set 2009
  6. var i=-1;
  7.  
  8. //Vai buscar todo o conteúdo da div com o id 'content'
  9. var msg=document.getElementById("content").innerHTML;
  10.  
  11. if(msg!=""){
  12. //Guarda e substitui as imagens e links por um marcador, utilizando Regex
  13. var msgaux=msg.match(/<img[^>]*>|<a[^>]*>.*<\/a>/gi);
  14.  
  15. msg=msg.replace(/<img[^>]*>|<a[^>]*>.*<\/a>/gi,"mak09");
  16.  
  17. //Substitui 'palavra' por um link (duplicar linha para mais palavras)
  18. msg=msg.replace(/palavra/gi,"<a href='/links.php?m=link2'>palavra</a>");
  19.  
  20.  
  21. //Coloca novamente imagens e links no texto
  22. msg=msg.replace(/mak09/g, remarca );
  23.  
  24. //Imprime texto substituido no ecran
  25. document.getElementById("content").innerHTML=msg;
  26.  
  27. }
  28. function remarca(){
  29. i=i+1;
  30.  
  31. return msgaux[i];
  32.  
  33. }
  34. </script>

De novo aconselha-se a leitura da versão 1 deste script aqui.


Gostou deste Artigo?
Subscreva o feed RSS ou reguiste-se na Newsletter do WebLouca, agora!
Categoria:
Se preferir, pode ainda deixar um comentário

PATROCINADORES


cometarios
Trackback(0)

Escreva o seu Comentario
 
  pequeno | maior
 

busy
 

Patrocinadores do Site

Subscrever Feed



Artigos

Ultimos artigos
jsimageNeste artigo vou-lhe demonstrar como rodar imagens e qualquer elemento desde div a span co...
phpthumbAtualmente praticamente todos os websites possuem a necessidade de listar os seus artigos...
benchmarksA pouco mais de um ano falei sobre uma ferramenta para otimizar imagens (Artigos/optimize...
phpimageredRedimensionar uma imagem com php pode ser um processo complicado. Quando por exemplo um wo...
linksafiliadosNo inicio do ano escrevi um artigo onde dáva a conhecer uma forma de criar links de afili...