首先 已经成功取到论坛贴子的整页源文件并导出。 Open App.Path & "\04.txt" For Append As #4
Print #4, strHTML
Close #4strHTML 为源文件字符串.
导出后 04.txt 约150K大小.下一步 想取到每一个 ID 和 回复的文字 到 05.txt保存 .....
回复行数不确定.语言不确定. 论坛嘛..----------------源文件内复制出来的.
<div id="postmessage_159405429" class="t_msgfont">论坛ID moke520<br />
第1行.字符串<br />
第2行.字符串<br />
第3行.字符串<br />
第4行.字符串<br />
第5行.字符串<br />
<br />
第6行.字符串<br />
第7行.字符串</div>
<!--精华贴打标记-->
<!--精华贴打标记-->
</div>
--------------------看过源文件后发现可以从 "div id="postmessage" 开始. 到 "精华贴打标记" 结束.取ID的话. 在某一行内匹配 会了..
可不会像这样的匹配多行.. 求教..
Print #4, strHTML
Close #4strHTML 为源文件字符串.
导出后 04.txt 约150K大小.下一步 想取到每一个 ID 和 回复的文字 到 05.txt保存 .....
回复行数不确定.语言不确定. 论坛嘛..----------------源文件内复制出来的.
<div id="postmessage_159405429" class="t_msgfont">论坛ID moke520<br />
第1行.字符串<br />
第2行.字符串<br />
第3行.字符串<br />
第4行.字符串<br />
第5行.字符串<br />
<br />
第6行.字符串<br />
第7行.字符串</div>
<!--精华贴打标记-->
<!--精华贴打标记-->
</div>
--------------------看过源文件后发现可以从 "div id="postmessage" 开始. 到 "精华贴打标记" 结束.取ID的话. 在某一行内匹配 会了..
可不会像这样的匹配多行.. 求教..
Dim reg As RegExp
Set reg = New RegExp
reg.IgnoreCase = True
reg.Pattern = "<div id=""postmessage[\s\S]+?</div>"
Dim m As MatchCollection
Set m = reg.Execute(Text1.Text)
MsgBox m(0)
End Sub可以捕获。
添加Microsoft VBScript Reg.... 5.5那个引用。
文字 150K 左右.. Text1 里放不下..Set m = reg.Execute(strHTML)也可以吧.. 我试试去.
去除那些东西. 求个小思路..
16:00 结贴.
Dim strData As String
Dim reg As Object
strData = "<font size=""f"">fdasfas</font><font size=""3"">fdasfas</font><font>fdasfas</font>"
Set reg = CreateObject("vbscript.regexp")
reg.Global = True
reg.IgnoreCase = True
reg.Pattern = "<font.*?>(.+?)</font>"
MsgBox reg.Replace(strData, "$1")
End Sub
reg.Pattern = "/>" & vbCrLf & ".*?<"
Set matchs = reg.Execute(Text2.Text) '网页源码放在Text2中
For Each match In matchs
s = Replace(match, "/>", "")
s = Replace(s, "<", "")
If Len(s) > 2 Then t = t + s
s = ""
Next
Text1.Text = t '结果显示到Text1中运行结果:第1行.字符串
第2行.字符串
第3行.字符串
第4行.字符串
第5行.字符串
第6行.字符串
第7行.字符串
reg替换
replace....
"<[^>]*>"
替换为""