最近在做图书馆检索,用到了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

至此匹配的问题解决。 现在仍然无法理解缘何不同,若游客有见解,留下言吧 :)