作者newyellow (newyellow)
看板RegExp
标题[请益] 抓一个表格内的东西
时间Tue Sep 14 13:31:28 2010
最近刚接触正规表示这个东西
最近想做一个跟学校课程有关的系统
目前在做的是把课程资料抓下来
但却有一栏始终抓不到
网页网址:
http://tinyurl.com/2fhpyhy
教师那一栏怎麽抓都抓不到
(学校这个网页
资料库好像塞得不太乾净...一堆空格,用原始码检视很丑)
要抓的地方大概长像这样:
<td>
王伟霖
<br>WANG WEI-LIN
</td>
我是用 PHP 的 preg_match_all
去抓 /<td>(.*)<br>(.*)<\/td>/ 抓不到
甚至只抓 /<td>.*<\/td>/ 也抓不到老师这一栏
不知道是语法厝还是什麽原因
请教各位高手了
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.234.49
※ 编辑: newyellow 来自: 140.119.234.49 (09/14 13:31)
1F:推 CindyLinz:preg_match_all 的 . 不包含换行字元呀~ 09/14 17:53
2F:推 salagadoola:要跨行的话,要加s修饰字使用单列模式 09/16 17:51
3F:→ salagadoola:像这样 /<td>.*<\/td>/s ,这时候 . 就会包含换行字元 09/16 17:54
4F:→ newyellow:谢谢! 不过试了之後 会变成把整页抓下来 09/18 20:34
5F:→ newyellow:用了 /<td>[^<]*<\/td>/s 就可以抓到了 09/18 20:34
6F:→ salagadoola:或是/<td>.*?<\/td>/s以免遇到像<td><b>test</b></td> 09/22 00:08