Autor | Zpráva | ||
---|---|---|---|
wrestler Profil |
#1 · Zasláno: 8. 2. 2009, 17:41:47
Přeji dobrý den.
Ve svém skriptu se snažím nahrazovat za odkaz URL všech následujících formátů: http://www.nekam.cz http://nekam.cz www.nekam.cz Celý kód je následující: var urlPattern = /(http:\/\/|http:\/\/www\.|www\.)([a-z0-9-]\.)+([a-z]{2,7})/gi; function toLink(match){ if(match.substr(0, 7) == 'http://'){ var lnkZac = 'http://'; var lnkZby = match.substr(7); var lnkTxt = ''; } else if(match.substr(0, 11) == 'http://www.'){ var lnkZac = 'http://www.'; var lnkZby = match.substr(11); var lnkTxt = 'www.'; } else if(match.substr(0, 4) == 'www.'){ var lnkZac = 'http://www.'; var lnkZby = match.substr(4); var lnkTxt = 'www.'; } return '<a href="' + lnkZac + lnkZby + '" target="_blank">' + lnkTxt + lnkZby + '<\/a>'; } document.write('www.stranka.cz'.replace(urlPattern, toLink)); Ve výsledku se ovšem vypíše plain text, nikoli odkaz... Vidíte někdo prosím v něčem chybu? Předem děkuji. |
||
Časová prodleva: 4 dny
|
|||
wrestler Profil |
#2 · Zasláno: 12. 2. 2009, 15:53:02 · Upravil/a: wrestler
Chybu jsem již opravil, byla v regulárním výrazu:
var urlPattern = /(http:\/\/|http:\/\/www\.|www\.)([a-z0-9-]+\.)+([a-z]{2,7})/gi; |
||
wrestler Profil |
#3 · Zasláno: 12. 2. 2009, 19:16:07
Ještě (když už jsem to vlákno založil) bych chtěl závěrem zveřejnit finální odlehčenou (ale stále funkční) verzi skriptu:
var urlPattern = /(http:\/\/|www\.)(?:[a-z0-9-]+\.)+[a-z]{2,7}/gi; function toLink(match){ if(match.substr(0, 7) == 'http://'){ var link = match.substr(7); } else if(match.substr(0, 4) == 'www.'){ var link = match; } return '<a href="http://' + link + '" target="_blank">' + link + '<\/a>'; } document.write('www.stranka.cz'.replace(urlPattern, toLink)); -> vypíše hezký HTML odkaz :) |
||
Časová prodleva: 16 let
|
0