- ベストアンサー
webページ内のidの値をphpで抽出させるには?
あるphpで出力されているwebページ(http://www.hoge.com/hoge.php) 内の <div align="center"><span class="style8" id="nu_text">2011-09-01 12:34:56 0.66 </span></div> の 2011-09-01 12:34:56 0.66 の部分だけをphpで抽出したいと思います。 どのような方法がありますか。 抽出元サーバは coreserverです。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず… ━ ココから ━━━━━━━━━━━━━━━━━━━━━━━━ $my_html = '<div align="center"><span class="style8" id="nu_text">2011-09-01 12:34:56 0.66 </span></div>'; if ( preg_match_all("|<span class=\"style8\" id=\"nu_text\">([^<>]+)</span>|", $my_html, $matches, PREG_SET_ORDER) ) { $my_string = (string) $matches[0][1]; } else { $my_string = 'No Data...'; } echo "<p>". $my_string ."</p>\n"; ━ ココまで ━━━━━━━━━━━━━━━━━━━━━━━━ ~こんな感じの正規表現で目的の部分を取れると思います。 P.S. 注意点としては“必ず”目的の文字列が例文の様な形になっている事が確約されている事です。もし毎回、微妙に取得対象のHTMLが変化する可能性があるのなら、それなりにまた正規表現の部分を変更しないとなりません。
その他の回答 (2)
- bakaok
- ベストアンサー率22% (33/148)
PHPでDOM系モジュール(XML系)使えば良いのでは?
- SAYKA
- ベストアンサー率34% (944/2776)
その形なら 正規表現で取り出せるんじゃないかな ただ、idのあるタグの内側に 更にタグが有るとかいい始めたらちょっと別の方法にしないとだめだけど。
お礼
ありがとうございます。 正規表現の場合具体的にどのように記述すればいいでしょうか? タグの中は質問の通りです、しかし一部スペースがありましたが 投稿の才に消えてしまいました。 <span class="style8" id="nu_text">2011-09-0112:34:560.66 </span> の部分が <span class="style8" id="nu_text">2011-09-01スペース12:34:56スペース0.66 </span> でした。 もしかするとスペースじゃないのかも知れませんがよくわかりません。 よろしくお願いします。
お礼
ありがとうございます! 無事できました! 大変勉強になりました!