关于一段代码中截取指定的代码问题,请高手来给点思路!谢谢!

fredtaylor 2008-04-07 12:16:04
就是类似采集中的获取内容的方法,在一段代码中,定义起始字符和结束字符,获取中间的代码段。

如果按传统的采集方法,使用数组,很容易解决。。但现在我想做成可以若干次获取,比如在代码中,我想获取<span>和</span>中间的代码,而页面中不止一个<span>标签,所以就需要获取+判断了。

用数组方式会出现下标越界现象。。请问各位大虾有其他好方法吗?

或者不用ASP,用JS是否可以实现?传统的JS屏蔽标签的脚本只能获取标签,而不能获取标签内的字符。。

请各位给个程序小段或思路!
...全文
113 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
使用正则,正则在ASP或者JS中一样都可以截取屏蔽
苍白之月 2008-04-07
  • 打赏
  • 举报
回复
你想做的是Web采集吧

阅读window.document对象的方法 可以遍例一个页面的全部对象
文盲老顾 2008-04-07
  • 打赏
  • 举报
回复
<%
' ExpStr(vStr,vReg,sStr)
' 返回正则匹配结果
'
' #####################################################
'
' vStr 为原始字符串
' vReg 为正则表达式
' sStr 为分隔符(尽量使用原始字符串中不会出现的字符串)
'
' #####################################################
'
' a = ExpStr("<a href=Functions.asp>函数库地址</a><br><a href=http://www.x-bs.com>文盲的演示代码</a>","<a[^<>]*>[^<>]*?(</a>)","||")
' IsArray(a) ' Return True
' UBound(a) ' Return 1
' a(0) ' Return "<a href=Functions.asp>函数库地址</a>"
' a(1) ' Return "<a href=http://www.x-bs.com>文盲的演示代码</a>"

Function ExpStr(vStr,vReg,sStr)
Dim Re,Matchs,Item,tStr
tStr = ""
Set Re = New RegExp
Re.Pattern = vReg
Re.IgnoreCase = True
Re.Global = True
If Re.Test(vStr) Then
Set Matchs = Re.Execute(vStr)
For Each Item In Matchs
tStr = tStr & Item.Value & sStr
Next
tStr = Split(Left(tStr,Len(tStr) - Len(sStr)),sStr)
End If
Set Re = Nothing
ExpStr = tStr
End Function
%>
Alices 2008-04-07
  • 打赏
  • 举报
回复

'//以下代码徒手写的,仅仅是大概思路

Do
IntBegin =Instr(StrWebCode,"<span>") + Len("<span>")

If IntBegin < Len("<span>") then Exit DO

IntEnd = Instr(StrWebCode,"</span>")

IF IntEnd < 0 Then Go To Err: '//OR Exit DO

StrAllGet = StrAllGet & Mid(StrWebCode,IntBegin,IntEnd-IntBengin) & "##"

Loop

LastArray=split(StrAllGet,"##") '//这样就不会上下标越界,而且可以得到所有<span>值.
fredtaylor 2008-04-07
  • 打赏
  • 举报
回复
不是做采集。。直说吧,就是想把一段代码中一些标签给屏蔽了,并且标签中的内容也一起屏蔽。。。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧