Newsgroup: it.lavoro.professioni.webmaster
Titolo: Automatizzare i link: e' possibile?

Mi spiego: sto preparando delle pagine che contengono moltissimi link: c'e'
la possibilita' di inserire all'inizio una formuletta che dica pressappoco:
<ogni volta che trovi una stringa che comincia con www,  aggiungi a href...>
per non dovermeli ripassare a uno a uno?
Le pagine sono in cold fusion, ma la formuletta potrebbe essere anche un
javascript.
Se qualcuno ha un'idea su come fare, lo ringrazio gia' da adesso
ciao
bianca


Beh, se stai usando cf puoi fare una ricerca estesa come in Home Site con
Extended Replace. Puoi modificare una serie di file in directoy usando le
espressioni regolari per cercare e sostituire.
L'algoritmo tipo č:
Cerca " www.[qualsiasi carattere fino allo spazio] " e sostituisci con "<a
href="www.[qualsiasi carattere fino allo spazio]">www.[qualsiasi carattere
fino allo spazio]</a>.
Purtroppo non ti posso dare la formula giusta della regular Expression
perchč sono ancora un cagnaccio e le sto imparando a furia di padellate in
testa.
Cmq cosě dovrebbe bastarti.
bye
5k4

Ciao..
forse è + comodo un trova sostituisci, ma se vuoi le funzioni
in javascript  :
per la ricerca di un testo in una pagina html:
function Find_InPage(str,win) {
// esterno var n   = 0;
if(!str)str="J";
if(!win)win=this;
var txt, i, found;
if (str == "")
return false;
if (document.layers) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0) alert(str + " non è stata trovata in questa pagina.");
}
if (document.all) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
Find_InPage(str);
}
else
alert(str + "  non è stata trovata in questa pagina.");
}
}
return false;
}
 per agire su tutti i link:
function Get_LinksPage() {
nw=open("about:blank","NW","height=300,width=450,status=yes,toolbar=no,menub
ar=no,location=no,scrollbars=yes");
nw.document.writeln("..Carico Attendi");
nw.document.close();
txt="<body onblur=\"close();\">"+
"Tutti i link disponibili in questa pagina:<hr>";
for (i=0; i<document.links.length; i++)
if(document.links[i].toString().toLowerCase().indexOf("javascript:")==+1)
txt += "<p><a target='"+name+"'
href="+document.links[i]+">"+document.links[i]+"</a>";
txt += "</body>"
nw.document.write(txt);
nw.document.close();
}
--
Bye
        Ro<*¿*>berto

 in javascript  :
Grazie Mille!
(In realta' alcune pagine alimenteranno un database tramite un form che
riempira' da web il cliente, il quale nulla sa e nulla vuole sapere di come
i suoi www si trasformeranno in link :-)
bianca

di nulla,
se hai difficoltà nello scrivere la funzione
definitiva, fai un salto sul ng javascript..
alla proxy... e buon lavoro!
;-)


 testa.
In perl è banale:
----------------------------------------------------------------------
#!/usr/bin/perl -w
use strict;
my $string = "Questi, 
www.prova-1.it
, 
www.prova-2.com
, sono dei link.";
$string =~ s/ (www\.[\w\.\-]+)\b/ <a href="http:\/\/$1">$1<\/a>/g;
print $string;  
----------------------------------------------------------------------
(la regexp matcha tutti i caratteri alfanumerici, _ incluso, il punto e il
segno - )
L'output del programma è:
Questi, <a href="
http://www.prova-1.it
">
www.prova-1.it
</a>, <a
href="
http://www.prova-2.com
">
www.prova-2.com
</a>, sono dei link.      
Ho provato a farlo in CF (mutatis mutandis, ovviamente) ma col cavolo che
riconosce la regular expression.    
Qui immagino di essere OT, ma qualcuno potrebbe gentilmente indicarmi il ng
giusto sul quale rivolgere la richiesta d'aiuto?