Hi NG,
Jeg har fået smidt nedenstående kode i nakken. Koden skulle generere en TOC
med links til de forskellige afsnit ud fra de headings man har angivet i sit
asp-dokument. Jeg har bare lidt problemer med at få det til at virke. Er der
nogen der kan give en hjælpende hånd (eller forslå noget helt andet)?
Konkret genereres følgende fejl:
Error Type:
Microsoft VBScript runtime (0x800A139A)
Unexpected quantifier
/doc/index.asp, line 68
Linje 68: Set Matches = regEx.Execute(Content)
Det jeg gerne skulle ende op med er noget lignende dette:
http://www.w3.org/TR/html4/struct/global.html
Med venlig hilsen
Lars Klingenberg
---
<%
Dim fso, f, Content
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath("index.asp"), 1, False)
Content = f.ReadAll
f.Close
Response.Write CreateToc(Content)
Function CreateToc(ByVal Content)
Dim regEx, Match, Matches, Toc, Offset, Count, Pos, Anchor
Dim OldTocLevel, TocLevel
Offset = 0
Count = 0
TocLevel = -1
Set regEx = New RegExp
regEx.Pattern = "<h([1-6])>(.*?)</h\1>"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Content)
For Each Match in Matches
Count = Count + 1
Pos = Match.FirstIndex + Offset
Anchor = "<a name=""h" & Count & """></a>"
Offset = Offset + Len(Anchor)
Content = Left(Content, Pos) & Anchor & _
Mid(Content, Pos + 1)
TocLevel = CLng(Match.SubMatches(0))
Do While (TocLevel > OldTocLevel)
Toc = Toc & "<ul>" & vbCrLf
OldTocLevel = OldTocLevel + 1
Loop
Do While (TocLevel < OldTocLevel)
Toc = Toc & "</ul>" & vbCrLf
OldTocLevel = OldTocLevel - 1
Loop
Toc = Toc & "<li><a href=""#h" & Count & """>" & _
Match.SubMatches(1) & "</a>" & vbCrLf
Next
Do While (0 < OldTocLevel)
Toc = Toc & "</ul>" & vbCrLf
OldTocLevel = OldTocLevel - 1
Loop
CreateToc = Toc & Content
End Function
%>