(已解决)如何筛选显示今天发布的信息
本帖最后由 xiezhang6263 于 2011-5-7 17:37 编辑源代码如下:
</FONT><a title='致某某单位的登记表' href='javascript:popAwin("../../webedit/scripts/noticeshowx.asp?id=201105061121","201105061121")'>致某某单位的登记表</a></td><td align=right width='15%'><font color=#666666>05-06</font></td></tr><tr><td colspan=2><IMG height=1 src='../images/line1.gif' width=267 border=0></td></tr><tr width=267><td align=left><FONT color=#a6a6a6>·</FONT><a title='关于某某文件的通知' href='javascript:popAwin("../../webedit/scripts/noticeshowx.asp?id=201105061120","201105061120")'>关于某某文件的通知</a></td><td align=right width='15%'><font color=#666666>05-06</font></td></tr><tr><td colspan=2><IMG height=1 src='../images/line1.gif' width=267 border=0></td></tr><tr width=267><td align=left><FONT color=#a6a6a6>·
<tr width=267><td align=left><a title='关于调整的通知' href='javascript:popAwin("../../webedit/scripts/noticeshowx.asp?id=201105041089","201105041089")'> 关于调整的通知'</a></td></tr><tr width=267><td align=left><a title='会议纪要' href='javascript:popAwin("../../webedit/scripts/noticeshowx.asp?id=201105031100","201105031100")'> 会议纪要</a></td></tr><tr width=267><td align=left><a title='转发的通知' href='javascript:popAwin("../../webedit/scripts/noticeshowx.asp?id=201105031075","201105031075")'> 转发的通知</a></td></tr><tr width=267><td align=left><a title='关于通知' href='javascript:popAwin("../../webedit/scripts/noticeshowx.asp?id=201105031065","201105031065")'> 关于通知</a></td></tr>
我想从id=既是文件发布的时间中筛选出今天发布的信息,或者是24小时内的信息
用以下正则(?s)\<a\htitle\=\'(\S*)\'.*?\id\=(\d+)已经提取出我想要的,但是还不是今天发布的内容,内容过于庞大。因为有时网页会发布新的内容出来。麻烦大大帮忙。
还有就是如何用代码过五分钟刷新一次。
正则部分.*?改成'&@YDAY&@MON&@MDAY&'*?
刷新部分用AdlibRegister ( "函数" [, 时间] ) 匹配后出来的结果是什么 本帖最后由 xiezhang6263 于 2011-5-6 21:41 编辑
回复2楼。。还是不行,能否具体点,谢谢。 回复 3# netegg
匹配出今天的消息出来,或者是24小时内的消息都可以的。 回复 2# love5173
还是不行,能否具体点,谢谢。 匹配出来的是个二维数组? 回复 7# netegg
是的。是二维数组。 回复 7# netegg Case $msg = $Button_01;刷新
_GUICtrlListView_DeleteAllItems($Lv)
_GUICtrlListView_EndUpdate($Lv)
shuaxin()
_GUICtrlListView_EndUpdate($Lv)
还加了个手动刷新按钮,想在加个每五分钟自动刷新一次的按钮。 回复 9# xiezhang6263
beginupdate呢 回复 10# netegg Func shuaxin()
$isource = FileRead("main.txt")
$sRegExp1 = "(?s)\<a\htitle\=\'(\S*)\'.*?\id\=(\d+)"
$Test1 = StringRegExp($isource, $sRegExp1, 3)
For $i = 0 To UBound($Test1) - 1 Step 2
GUICtrlCreateListViewItem($Test1[$i+1]& "|" & $Test1[$i], $Lv)
Next
EndFunc这是beginupdate部分,因为是局域网网页,里面的网站外网无法打开,所有就保存为源文件了。 我的意思是
beginupdate($hLv)
.....
endupdate($hLv)
是成对出现的,单用一个不行 回复 12# netegg
我原先两个都是endupdate可以刷新出来。呵呵,那我把代码改下,
改为Case $msg = $Button_01;刷新
_GUICtrlListView_DeleteAllItems($Lv)
_GUICtrlListView_BeginUpdate($Lv)
shuaxin()
_GUICtrlListView_EndUpdate($Lv) $sRegExp1 = "(?s)\<a\htitle\=\'("&@YEAR&@MON&@MDAY&"\S*)\'.*?\id\=(\d+)"AdlibRegister ( "函数" [, 时间] )是注册多久调用一次,你这种代码完全可以重新载入一次
因为没有你的代码我也不好改,可以这么写
AdlibRegister ( "main",5*60*1000)
main
funcmain()
功能函数
endfunc AdlibRegister("shuaxin", 5 * 50 * 1000)
shuaxin()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $msg = $Button_01 ;刷新
_GUICtrlListView_DeleteAllItems($Lv)
_GUICtrlListView_EndUpdate($Lv)
shuaxin()
_GUICtrlListView_EndUpdate($Lv)
EndSwitch
WEnd
Func shuaxin()
$isource = FileRead("main.txt")
$sRegExp1 = "(?s)\<a\htitle\=\'(\S*)\'.*?\id\=(\d+)"
$Test1 = StringRegExp($isource, $sRegExp1, 3)
For $i = 0 To UBound($Test1) - 1 Step 2
GUICtrlCreateListViewItem($Test1[$i + 1] & "|" & $Test1[$i], $Lv)
Next
EndFunc ;==>shuaxin