本文最后更新于 3447 天前,其中的信息可能已经有所发展或是发生改变。
最近在做图书馆检索,用到了PHP的cURL和正则表达。
今天遇到一个匹配不到的问题,原本以为是正则规则写错了,但后来发现,其实是正则中的文本不符。
一般情况下我是通过ctrl U 查看网页源代码来写正则规则的。通过源代码可以看到这次我要匹配的是。其中我要匹配的是1899.
<span id=”ctl00_ContentPlaceHolder1_countlbl“ style=”color:Red;“>1899</span>
于是我使用了下面的规则:
#<span id=”ctl00_ContentPlaceHolder1_countlbl“ style=”color:Red;“>([^”]+)</span>#iUs
但始终无法匹配出结果。后来将cURL获取到的网页数据输出来,看到的数据竟然和网页源代码的不一致:
<span id=”ctl00_ContentPlaceHolder1_countlbl“><font color=”Red“>1899</font></span>
至此匹配的问题解决。
现在仍然无法理解缘何不同,若游客有见解,留下言吧 :)
可能是 User Agent 或 Cookie 所致。
应该不是这个问题哦。