Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 7. 8. 2009, 22:02:55
Dobrý den,
na stránkách dělám ochranu emailu. V db mám Svvimx@gmail.com SvvimX (zavináč) gmail (tečka) com Svvimx <span class='zav'><i>(zavináč)</i></span> gmail <span class='dot'><i>(tečka)</i></span> com s tím, že zavináč a tečka je tam trojjazyčně. Potřeboval bych poradit jak pomocí JS změnit <span class='zav'><i>neco</i></span> na @ a stejně tak i tečku. Děkuji za veškeré rady. |
||
Radek9 Profil |
#2 · Zasláno: 7. 8. 2009, 22:07:31 · Upravil/a: Radek9
<script type="text/javascript"> document.getElementsByClassName("zav").innerHTML = document.getElementsByClassName("zav").innerHTML.replace("(zavináč)","@"); document.getElementsByClassName("dot").innerHTML = document.getElementsByClassName("dot").innerHTML.replace("(tečka)","."); </script> Edit: Omlouvám se za chybu :D |
||
SwimX Profil |
#3 · Zasláno: 7. 8. 2009, 22:11:05
Radek9
Díky ale zavináč a tečka je tam trojjazyčně. a načitá se to z php konstant. Takže todle půjde jen u češtiny.A rád bych vyhodil spany a <i>čka. Došel jsem k takovémuto řešení, nedotaženému. function make_email(){ var str = //načíst text z tagu <address> var regexp="^(.+)( <span class='zav'><i>.+</i></span> )(.+)$"; var result=str.replace(regexp,"$1@$3"); //... } |
||
panther Profil |
#4 · Zasláno: 7. 8. 2009, 22:37:19 · Upravil/a: panther
Radek9
když už, tak document.getElementsByClass |
||
_es Profil |
#5 · Zasláno: 7. 8. 2009, 22:50:57
panther
„když už, tak “ alebo radšej tak: document.getElementsByClassName |
||
SwimX Profil |
#6 · Zasláno: 7. 8. 2009, 23:06:38
_es
poradil bys? :) vím, že víš :) |
||
_es Profil |
#7 · Zasláno: 7. 8. 2009, 23:37:26 · Upravil/a: _es
SwimX
Vyložil si si to trochu chybne: Vyskúšaj si v rôznych prehliadačoch v adresovom políčku: javascript:alert(document.getElementsByClassName) Nesnažil som sa naznačiť, že hneď viem kompletné riešenie, len dať informáciu o slepej uličke. Alebo že tie iné varianty treba niekde nejak dodefinovať. |
||
SwimX Profil |
#8 · Zasláno: 8. 8. 2009, 20:31:59
vyřešil jsem to takto:
<p id='email'>lzavit<span class='tecka'> <i>(tecka)</i> </span>kovskky<span id='zav'> <i>(zavináč)</i> </span>gmail<span class='tecka'> <i>(tecka)</i> </span>com</p> <script> document.getElementById('zav').innerHTML='@'; var str=document.getElementById('email'); var re2=/(<span\sclass=.+?>\s<i>\(.+?\)<\/i>\s<\/span>)+?/gi; str.innerHTML=str.innerHTML.replace(re2,"."); </script> nevím zda je to nejefektivnější, ale běhá mi to :) |
||
watchick Profil |
#9 · Zasláno: 9. 8. 2009, 11:00:36
Nejsem si jist, ale
document.getElementById('zav').innerHTML='@'; nezmění tohle nahodou jan.zavitek@seznam.cz jan.@itek@seznam.cz |
||
Leo Profil |
#10 · Zasláno: 9. 8. 2009, 12:27:30
getElementsByClassName nefunguje automaticky ve vsech prohlizecich, Leo
|
||
Časová prodleva: 4 dny
|
|||
SwimX Profil |
#11 · Zasláno: 13. 8. 2009, 00:44:44 · Upravil/a: SwimX
watchick:
„nezmění tohle nahodou“ ne, vždyť to hledá element s id zav, nikoliv v prostém textu výskyt slova "zav" <mimo-téma>zavitek je Lukáš</mimo-téma> navíc todle "jan.zavitek@seznam.cz" se tam nikde nevyskytuje. V kódu uvidíte leda: <p id='email'>lzavit<span class='tecka'> <i>(tecka)</i> </span>kovskky<span id='zav'> <i>(zavináč)</i> </span>gmail<span class='tecka'> <i>(tecka)</i> </span>com</p> Leo: „getElementsByClassName“ jsem přeci nepoužil, ale díky za info :) |
||
Časová prodleva: 15 let
|
0