• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLから正規表現で必要な情報を取得したい)

HTMLから正規表現で必要な情報を取得したい

このQ&Aのポイント
  • HTMLから(A)~(J)の値を取得する方法を教えてください。
  • PHPで正規表現を使ってHTMLから(A)~(J)の値を取得する方法を教えてください。
  • PHP5を使用して、HTMLの(A)~(J)の値を取得する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たとえばこんな感じ <? $html=<<<eof <tr bgcolor="#ffffff"> <td align="center">(A)<br></td> <td align="center">(B)<br></td> <td align="center">(C)<br></td> <td><a href="http://aaaaa.co.jp">(D)</a><br></td> <td align="right">(E)</td> <td align="right">(F)<br></td> <td align="right">(G)</td> <td align="right">(H)</td> <td align="right">(I)</td> <td align="center" nowrap><font color="#FFFFFF">(J)</font></td> </tr> eof; preg_match_all("/<td(?:\s+.*?)*>.*?<\/td>/",$html,$matches); $array=$matches[0]; foreach($array as $key=>$val){ $array[$key]=strip_tags($val); } print_r($array); ?> ようはtdタグに挟まれた文字列を取得して、タグをあとから外す。 ただし(A)~(I)がタグを含む場合は別のアプローチが必要です

msak777
質問者

お礼

返事が遅くなり申し訳ございませんでした。 教えていただいた方法で実現できました。 strip_tagsでタグを削除する発想がなかったのでとても勉強になりました。 ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

この場合どのような値(配列?)が返ってくることを期待していますか? 補足が必要です。

msak777
質問者

補足

回答ありがとうございます。補足させて頂きます。 (A)~(J)の値が格納された連想配列または配列が返ってくれば嬉しいです(理想は連想配列)。 例えば) array = { 'A' => (A), 'B' => (B), 'C' => (C), (略) } または、 array[0] = (A) array[1] = (B) array[2] = (C) 個人的にはpreg_match_allを利用して実現できそうな気がするのですが、 実力不足で上手くできませんでした。 他にXPathなども考えてみましたが、難しいです。