salve a tutti, avrei bisogno di una mano con il seguente script. potete testarlo a questo indirizzo:
http://www.scuoladimusica.org/tests/...he_lunghe.html
function tagliaEncode(chi) {
strl = document.getElementById(chi).innerHTML;
strspezz = new Array();
strspezz = strl.split(" ");
lungarr = strspezz.length;
strnuova = "";
for (i=0; i<lungarr; i++) { // crea array di parole dal testo (for 1)
parolaspezz = new Array();
parolaspezz = strspezz[i].split("");
lungparolaspezz = parolaspezz.length;
if (lungparolaspezz >= 10) { // se la parola è troppo lunga (if 1)
indir = strspezz[i].indexOf("http://")
indirvero = strspezz[i]
if (indir != -1) { // se è un url codifica l'url (if 2)
nuovoindir = strspezz[i].replace(indirvero, "<a href=\"" + indirvero + "\">" + indirvero.substring(0, 20) + "...<\/a>")
strspezz[i] = nuovoindir;
} // (chiudi if 2)
else {
nuovastr = new Array();
nuovastr = strspezz[i].split("");
nuovastrlung = nuovastr.length;
ns = nuovastrlung/2;
cambia = strspezz[i].substring(0, ns);
cambiato = cambia + "
";
strspezz[i] = strspezz[i].replace(cambia, cambiato);
}
} // (chiudi if 1)
strnuova += " " + strspezz[i];
} //(chiudi for 1)
document.getElementById(chi).innerHTML = strnuova;
}
serve a tagliare le parole troppo lunghe per non scombinare il layout e contemporaneamente rendere linkabili gli urls. viene utilizzato in una pagina nella quale tutto il testo è paragonabile ad un post su di un forum: un utente deve scrivere il proprio curriculum e puo' inserire anche urls, che saranno resi automaticamente links nella pagina che visualizzerà il loro profilo (tramite un <%= objRS("curriculum") %>: d'altra parte vorrei evitare lo scombinamento (volontario o meno) della pagina, quindi vorrei tagliare le parole troppo lunghe.
dato che le due cose insieme apparentemente in asp non si possono fare, vorrei farlo in javascript, solo che ho qualche problema quando lo testo nell'applicazione dove dovrebbe girare. per l'esattezza mi "codifica" anche qualche parola precedente la stringa da rendere linkabile...
sono sicuro che ci siano errori logici nello script, anche se all'apparenza funziona tutto; sono anche sicuro che si possa ottimizzare e velocizzare la cosa.
mi date una mano a farlo?