Nath Postado Abril 17, 2010 Denunciar Share Postado Abril 17, 2010 (editado) Tenho o seguinte Codigo em Html<pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 450px; height: 258px; text-align: left; overflow: auto;"> [url=http://SERVIDOR.com]http://SERVIDOR.com[/url] [url=http://SERVIDOR.com]http://SERVIDOR.com[/url] [url=http://SERVIDOR.com]http://SERVIDOR.com[/url] [url=http://SERVIDOR.com]http://SERVIDOR.com[/url] [url=http://SERVIDOR.com]http://SERVIDOR.com[/url] </pre> Tenho que transforma isso em link Assim: <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 450px; height: 258px; text-align: left; overflow: auto;"> <a href=http://SERVIDOR.com target="_blank">SERVIDOR</a> <a href=http://SERVIDOR.com target="_blank">SERVIDOR</a> <a href=http://SERVIDOR.com target="_blank">SERVIDOR</a> <a href=http://SERVIDOR.com target="_blank">SERVIDOR</a> </pre>alguém sabe como fazer ?!só colocando os a href já estaria Otimo.No aguardo Editado Abril 18, 2010 por Jonathan Queiroz Adicionar tag's (Jonathan) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lobismano Postado Abril 17, 2010 Denunciar Share Postado Abril 17, 2010 E ai beleza.Insere labels e coloca o evento onclick nelas.<label onclick="java script:window.location = 'http://www.google.com/'">http://SERVIDOR.com</label> <label onclick="java script:window.location = 'http://www.google.com/'">http://SERVIDOR.com</label> <label onclick="java script:window.location = 'http://www.google.com/'">http://SERVIDOR.com</label> <label onclick="java script:window.location = 'http://www.google.com/'">http://SERVIDOR.com</label> <label onclick="java script:window.location = 'http://www.google.com/'">http://SERVIDOR.com</label>At. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 17, 2010 Autor Denunciar Share Postado Abril 17, 2010 Como eu faço pra coloca esses label atravez de js/ajaxsão mais de 60000 mil topicos ..não tem como fazer manualmente.tentei usa getElementByTagName("alt2")e substituir os "http" por "<a href= http" Como fazer Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 17, 2010 Denunciar Share Postado Abril 17, 2010 O ideal é fazer esse tipo de coisa no servidor.De qualquer forma, tente algo assim:var element = document.getElementById("id_do_elemento") var exp=/\[url=(.*?)\](.*?)\[\/url]/g; element.innerHTML=element.innerHTML.replace(exp,"<a href=\"$1\" target=\"_blank\">$2</a>") Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 17, 2010 Autor Denunciar Share Postado Abril 17, 2010 (editado) Tipo ..Tenho que faze algo em JSQue pegue depois da ClassEX:<div class="conteudo"> http://link.com http://link.com </div> Ta bem assim... Os http tão como se fosse TEXTO eu tenho que percorrer depois da Classe Conteudo E tudo que tiver - http - colocar o - a href - pra ele Virar Link Entendo pok de ajax, js , dom *EDIT na verdade ta bem assim como ta aqui ... os links tem os envolta - quelas [.url][./url] não tem ...* Editado Abril 17, 2010 por Nath Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 17, 2010 Denunciar Share Postado Abril 17, 2010 Para obter os elementos de uma classe você pode fazer algo assim:function ElementosPorClasse(c){ x=document.getElementsByTagName("*") e=[] y=0 for(i=0;i<x.length;i++){ if(x[i].className==c){ e[y]=x[i] y++ } } if(e.length){ return e }else{ return null } }Nota: esse código só funciona para elementos de uma única classe. Se precisar para elementos com várias classes, posso lhe passar o código correto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 17, 2010 Autor Denunciar Share Postado Abril 17, 2010 Cara tentei um monte de jeito aqui pra para de t enxe o saco , mas não consegui Usei essa função junto com o document pra pega os Http e substuir por <a href=httpnão consegui.Transformar isso ta osso http://link.comDifici mexe com isso... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 18, 2010 Denunciar Share Postado Abril 18, 2010 Você conseguiu entender a parte de obter os elementos de determinada classe?Se sim, você pode percorrer todos os elementos e utilizar o código para cada um deles. Algo assim:var elementos = ElementosPorClasse("alt2"); for (var i = 0; i < elementos.length; i++) { var exp = /\[url=(.*?)\](.*?)\[\/url]/g; elementos[i].innerHTML = elementos[i].innerHTML.replace(exp, "<a href=\"$1\" target=\"_blank\">$2</a>") } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 18, 2010 Autor Denunciar Share Postado Abril 18, 2010 Unica coisa que eu não entendi realemte foi o var exp = /\[url=(.*?)\](.*?)\[\/url]/g;SE tu poder me dizer alguma fonte para eu estudar isso ...livros , ebooks, etc =)O resto ta sussa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 18, 2010 Denunciar Share Postado Abril 18, 2010 Isso é uma expressão regular. Serve para trabalhar com padrões em textos. Recomendo a leitura desse guia: Guia de expressões regularesO /g após uma expressão regular, no Javascript, indica que ela é global (isto é, deve-se substituir todas as ocorrências, ao invés de somente a primeira).Mais especificemente sobre a utilização de expressões regulares em Javascript, recomendo os seguintes links:http://guia-er.sourceforge.net/javascript.htmlhttp://imasters.uol.com.br/artigo/2515/jav...lar_expression/Obs.:O tópico pode ser marcado como resolvido? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 18, 2010 Autor Denunciar Share Postado Abril 18, 2010 Poder marcar (Resolvido).E Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 18, 2010 Denunciar Share Postado Abril 18, 2010 De nada. Qualquer coisa posta aí!Obs.:O tópico foi marcado como Resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 18, 2010 Autor Denunciar Share Postado Abril 18, 2010 Queiroz!haha - VolteiNa Exp Reg:var exp = /\(.*?)\[\/url]/g;Tu me passou pra altera oque tem [.url][./url]Essa url foram geradas automaticamente pelo Forum aqui ...No problema aqui só tem o codigo em http mesmoVo coloca em codehttp://link.comcomo eu faço a expressao regular disso pra coloca o a href ?!Acho que é a Ultima Pergunta.GRATO! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 18, 2010 Denunciar Share Postado Abril 18, 2010 Não entendi muito bem. Pode explicar melhor? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nath Postado Abril 18, 2010 Autor Denunciar Share Postado Abril 18, 2010 (editado) Tava tentand aqui e não consegui mesmo....Assim tu me passou a exp regular disso aqui[url=http://SERVIDOR.com]http://SERVIDOR.com[/url] Mas na verdade é apenas isso http://SERVIDOR.comAquelas urls foram geradas pela bbcode do scriptBrasil Editado Abril 18, 2010 por Nath Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 18, 2010 Denunciar Share Postado Abril 18, 2010 Ah sim!Tente uma expressão mais ou menos assim:/(http://.*? )/g E faça a substituição por: <a href=\"$1\" target="_blank">$1</a>A expressão acima procura por um http e depois por um espaço no final para trabalhar com o link. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Nath
Tenho o seguinte Codigo em Html
Tenho que transforma isso em link Assim:alguém sabe como fazer ?!
só colocando os a href já estaria Otimo.
No aguardo
Editado por Jonathan QueirozAdicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
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.