看板 RegExp 關於我們 聯絡資訊
最近剛接觸正規表示這個東西 最近想做一個跟學校課程有關的系統 目前在做的是把課程資料抓下來 但卻有一欄始終抓不到 網頁網址: http://tinyurl.com/2fhpyhy 教師那一欄怎麼抓都抓不到 (學校這個網頁 資料庫好像塞得不太乾淨...一堆空格,用原始碼檢視很醜) 要抓的地方大概長像這樣: <td> 王偉霖 <br>WANG WEI-LIN &nbsp; </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)
CindyLinz:preg_match_all 的 . 不包含換行字元呀~ 09/14 17:53
salagadoola:要跨行的話,要加s修飾字使用單列模式 09/16 17:51
salagadoola:像這樣 /<td>.*<\/td>/s ,這時候 . 就會包含換行字元 09/16 17:54
newyellow:謝謝! 不過試了之後 會變成把整頁抓下來 09/18 20:34
newyellow:用了 /<td>[^<]*<\/td>/s 就可以抓到了 09/18 20:34
salagadoola:或是/<td>.*?<\/td>/s以免遇到像<td><b>test</b></td> 09/22 00:08