BearbeitenAusgangsproblem:
- Inhalte von Includedateien werden von einem Nicht-Entwickler gepflegt
- einfaches Tool zur Pflege der Include-Seiten war gefordert - Frontpage war gegeben
- das Ganze simpel und übersichtlich (eher keine Datenbank)
BearbeitenLösung
Die folgende kleine Sub Prozedur, Embedfile, liest eine ganze HTML Datei ein und extrahiert den Inhalt zwischen und und gibt sie aus.
Sub EmbedFile(sFilename)
Dim fso, f, s, iWriteFlag
Const CFORREADING = 1
Const CVBTEXTCOMPARE = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath(sFilename), CFORREADING)
Do While Not f.AtEndOfStream
s = f.ReadLine
if instr(1, s, "<body", CVBTEXTCOMPARE) > 0 then
iWriteFlag = true
elseif instr(1, s, "</body", CVBTEXTCOMPARE) > 0 then
iWriteFlag = false
else
if iWriteFlag Then
response.write s & vbcrlf
End If
End If
Loop
f.close
End Sub
Aufruf etwa über
<% EmbedFile "seite.htm" %>
oder bei Pfadangaben den Web-Pfad verwenden (nicht physikalische Pfade). Also normale Schrägstriche.
<% EmbedFile "../verzeichnis/seite.htm" %>