Re: [請益] preg_match_all 問題

看板PHP作者 (sss)時間13年前 (2012/05/05 03:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
S1: match 整個tr內的column $source = '表格字串'; $pattern = '#<td height=\"20\" align=\"middle\">\s*'; $pattern .= '<div align=\"center\">(?<date>.*)<\/div>\s*<\/td>\s*'; $pattern .= '<td height=\"20\" align=\"right\">\s*'; $pattern .= '<div align=\"center\">(?<number>.*)<\/div>\s*<\/td>#i'; preg_match_all($pattern, $source, $matches, PREG_SET_ORDER); foreach($matches as $match) { echo $match["date"]; //日期欄位 echo $match["number"]; //數值欄位 } 要更精確可以把 .* 分別改成 match 日期 和 浮點數 S2: 比較簡單的方法 只match <div> $pattern = '#<div align=\"center\">(.*)<\/div>#i'; $count = preg_match_all($pattern, $source, $matches, PREG_SET_ORDER); for($i=0; $i<$count; $i=$i+2) { echo $matches[$i][1]; //日期欄位 echo $matches[$i+1][1]; //數值欄位 } 以上都可以 match 表格內多個以上的 tr ※ 引述《ROCK210502 (rock)》之銘言: : <table width="590" border="0" align="center" cellpadding="0" cellspacing="1" class="board_trad"> : ass="board_trad"> : <tbody> : <tr bgcolor="#FFFFFF" class="basic2"> : <td height="20" align="middle"> : <div align="center">101/04/03</div> : </td> : <td height="20" align="right"> : <div align="center">43.60</div> : </td> : </tr> : </tbody> : </table> : 請問如果我要分別找到 101/04/03與43.60要怎麼用preg_match_all寫出來 : 小弟不才請各位見諒!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.67.237 ※ 編輯: cychi 來自: 118.168.67.237 (05/05 03:55)
文章代碼(AID): #1Ff3DAwd (PHP)
討論串 (同標題文章)
文章代碼(AID): #1Ff3DAwd (PHP)