- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- filesystemobject e title
-
filesystemobject e title
salve
ho un codice che tramite il file system object legge i nomi dei files contenuti in una cartella e li riporta in formato elenco nella pagina
nel caso specifico sono tutti file htmlinvece di stampare l'elenco dei nomi dei files, vorrei stampare i title
è possibile farlo?
-
Devi leggere il testo contenuto in ogni singolo file ed andare a cercare la stringa che si trova tra <title> e </title>
-
il codice è questo
<% Dim fso, f, f1, fc, s Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(server.mappath("cartellafile")) Set fc = f.Files For Each f1 in fc s = f1.name Response.Write "<li><a href='cartellafile/"& s &"' class='type' target='_blank'>" & s & "</a></li>"%><br> <%Next%>
come posso prelevare il title di questi html posti nella cartella "cartellafile" e non il nome?
-
Prova ad utilizzare il metodo OpenTextFile per inserire il testo del file in una variabile. Poi splittane il contenuto in base ai tag <title> e </title> in maniera tale da ricavare la stringa tra essi contenuta.
-
@madai said:
Prova ad utilizzare il metodo OpenTextFile per inserire il testo del file in una variabile. Poi splittane il contenuto in base ai tag <title> e </title> in maniera tale da ricavare la stringa tra essi contenuta.
in italiano ho capito ehhehe
in codice come sarebbe?
mi sapresti dare cortesemente uno spunto ?mi disp non sono così bravo nel programmare
so fare cose base
-
Prova così:
<% Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(Server.MapPath("cartellafile")) Set fc = f.Files For Each f1 in fc s = f1.Name Set objTextFile = fso.OpenTextFile(Server.MapPath("cartellafile/" & s), 1) html = objTextFile.ReadAll If InStr(html,"<title>") > 0 and InStr(html,"</title>") > 0 then title = Split(html,"<title>")(1) title = Split(title,"</title>")(0) Else title = "Titolo non disponibile per <i>" & s & "</i>" End if Response.Write("<li><a href='cartellafile/"& s &"' class='type' target='_blank'>" & title & "</a></li><br>") objTextFile.Close Next %>
-
funziona..
sei troppo forte
per me è arabo quello che hai scritto ehehehmi mette un ">" prima del titolo
ultima cosa
se volessi usare prendere il testo contenuto nel meta content al posto del title (per altre cose), vale lo stesso discorso?
grazie
-
Per la descrizione prova così... in grassetto le "aggiunte" che ho apportato:
<% Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(Server.MapPath("cartellafile")) Set fc = f.Files For Each f1 in fc s = f1.Name Set objTextFile = fso.OpenTextFile(Server.MapPath("cartellafile/" & s), 1) html = objTextFile.ReadAll If InStr(html,"<title>") > 0 and InStr(html,"</title>") > 0 then title = Split(html,"<title>")(1) title = Split(title,"</title>")(0) Else title = "Titolo non disponibile per <i>" & s & "</i>" End if ** If InStr(html,"<meta name=""description"" content=""") > 0 then descr = Split(html,"<meta name=""description"" content=""")(1) descr = Split(title,"""")(0) Else descr = "Descrizione non disponibile per <i>" & s & "</i>" End if** Response.Write("<li><a href='cartellafile/"& s &"' class='type' target='_blank'>" & title & "</a><br>**<i>"&descr&"</i>**</li><br>") objTextFile.Close Next %>
Per quell' ">" a prima vista non trovo l'errore... almeno questo scovalo tu
Ciao
-
Okkio!
il punto
descr = Split(title,"""")(0)
Dovrebbe essere ``` **descr = Split(descr,"""")(0)**
Per l'">" non lo trovo neanch'io...