| 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: 17 let
|
|||
0