作者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