这是程序,目的就是去除网页html里面尖括号里的东西。 Private Sub Form_Load() Dim a(256) As String * 1 Dim b$, inputfirst, c(50) As String Dim i, j, k, n, temp As Integer Open "D:\vb1.txt" For Input As #1 Open "D:\vb2.txt" For Append As #2 k = 0 Do Until EOF(1) Line Input #1, inputfirst inputfirst = Tirm(inputfirst) temp = 1 For i = 0 To 256 a(i) = Mid(inputfirst, i + 1, 1) If a(i) = Chr(13) Then Exit For ElseIf a(i) = "<" Then temp = 0 ElseIf a(i) = ">" Then temp = 1 Else temp = temp * 2 If temp = 2 Then b$ = Mid(inputfirst, i + 1) j = InStr(b$, "<") If j = 0 Then c(k) = b$ Else c(k) = Left(b$, j - 1) End If k = k + 1 temp = 1 End If End If Next i Loop For n = 0 To k Print #2, c(n) Next n Close #1 Close #2End Sub
if len(trim(inputfirst))>256 then For i = 0 To 256 …… endif
if len(trim(inputfirst))>256 then msgbox "错误",vbokonly,"" exit sub endif For i = 0 To len(trim(inputfirst)) ……
Private Function StrFormat(s As String) As String On Error Resume Next Dim Buf As String Dim StrTemp As String Dim c As String Dim i As Long Dim j As Long Dim k As Long Dim L As Long Buf = s Do L = InStr(1, Buf, "<style", vbTextCompare) If L > 0 Then k = InStr(L + 6, Buf, "</style>", vbTextCompare) If k > 0 Then Buf = Left(Buf, L - 1) + Mid(Buf, k + 8) Else Buf = Left(Buf, L - 1) Exit Do End If Else Exit Do End If Loop Do L = InStr(1, Buf, "<script", vbTextCompare) If L > 0 Then k = InStr(L + 7, Buf, "</script>", vbTextCompare) If k > 0 Then Buf = Left(Buf, L - 1) + Mid(Buf, k + 9) Else Buf = Left(Buf, L - 1) Exit Do End If Else Exit Do End If Loop Buf = Replace(Buf, "&", "&") Buf = Replace(Buf, """, Chr(34)) '替换成双引号 Buf = Replace(Buf, "<", "<") Buf = Replace(Buf, ">", ">") Buf = Replace(Buf, " ", "") Buf = Replace(Buf, "<", " <") Buf = Replace(Buf, ">", "> ") Buf = Replace(Buf, " ", "") Buf = Replace(Buf, Chr(26), " ") Buf = Replace(Buf, Chr(10), " ") Buf = Replace(Buf, Chr(9), " ") Buf = Replace(Buf, Chr(13), " ") Buf = LTrim(Buf) Buf = RTrim(Buf) '您可加入其他替换 StrTemp = "" For i = 1 To Len(Buf) c = Mid(Buf, i, 1) Select Case c Case "<" If i <> 1 Then StrTemp = StrTemp & Mid(Buf, j + 1, i - j - 1) End If Case ">" j = i End Select Next i L = Len(StrTemp) Do Buf = Replace(StrTemp, " ", " ") i = Len(Buf) If i = L Then Exit Do L = i StrTemp = Buf Loop StrFormat = Buf End Function
Private Sub Form_Load()
Dim a(256) As String * 1
Dim b$, inputfirst, c(50) As String
Dim i, j, k, n, temp As Integer
Open "D:\vb1.txt" For Input As #1
Open "D:\vb2.txt" For Append As #2
k = 0
Do Until EOF(1)
Line Input #1, inputfirst
inputfirst = Tirm(inputfirst)
temp = 1
For i = 0 To 256
a(i) = Mid(inputfirst, i + 1, 1)
If a(i) = Chr(13) Then
Exit For
ElseIf a(i) = "<" Then
temp = 0
ElseIf a(i) = ">" Then
temp = 1
Else
temp = temp * 2
If temp = 2 Then
b$ = Mid(inputfirst, i + 1)
j = InStr(b$, "<")
If j = 0 Then
c(k) = b$
Else
c(k) = Left(b$, j - 1)
End If
k = k + 1
temp = 1
End If
End If
Next i
Loop
For n = 0 To k
Print #2, c(n)
Next n
Close #1
Close #2End Sub
For i = 0 To 256
……
endif
msgbox "错误",vbokonly,""
exit sub
endif
For i = 0 To len(trim(inputfirst))
……
On Error Resume Next
Dim Buf As String
Dim StrTemp As String
Dim c As String
Dim i As Long
Dim j As Long
Dim k As Long
Dim L As Long
Buf = s
Do
L = InStr(1, Buf, "<style", vbTextCompare)
If L > 0 Then
k = InStr(L + 6, Buf, "</style>", vbTextCompare)
If k > 0 Then
Buf = Left(Buf, L - 1) + Mid(Buf, k + 8)
Else
Buf = Left(Buf, L - 1)
Exit Do
End If
Else
Exit Do
End If
Loop
Do
L = InStr(1, Buf, "<script", vbTextCompare)
If L > 0 Then
k = InStr(L + 7, Buf, "</script>", vbTextCompare)
If k > 0 Then
Buf = Left(Buf, L - 1) + Mid(Buf, k + 9)
Else
Buf = Left(Buf, L - 1)
Exit Do
End If
Else
Exit Do
End If
Loop
Buf = Replace(Buf, "&", "&")
Buf = Replace(Buf, """, Chr(34)) '替换成双引号
Buf = Replace(Buf, "<", "<")
Buf = Replace(Buf, ">", ">")
Buf = Replace(Buf, " ", "")
Buf = Replace(Buf, "<", " <")
Buf = Replace(Buf, ">", "> ")
Buf = Replace(Buf, " ", "")
Buf = Replace(Buf, Chr(26), " ")
Buf = Replace(Buf, Chr(10), " ")
Buf = Replace(Buf, Chr(9), " ")
Buf = Replace(Buf, Chr(13), " ")
Buf = LTrim(Buf)
Buf = RTrim(Buf)
'您可加入其他替换
StrTemp = ""
For i = 1 To Len(Buf)
c = Mid(Buf, i, 1)
Select Case c
Case "<"
If i <> 1 Then
StrTemp = StrTemp & Mid(Buf, j + 1, i - j - 1)
End If
Case ">"
j = i
End Select
Next i
L = Len(StrTemp)
Do
Buf = Replace(StrTemp, " ", " ")
i = Len(Buf)
If i = L Then Exit Do
L = i
StrTemp = Buf
Loop
StrFormat = Buf
End Function