//自分が書いたソースコード <?php //htmlの取得 $url = "https://e.his-j.com/shop/tour/voyage.aspx?portal=02A&jarea=10&tour=TI-CYC0838"; //取得したいサイトのURL require_once("./phpQuery-onefile.php"); $html = file_get_contents($url); $dom = phpQuery::newDocument($html); //料金の取得 echo "<br>料金:"; preg_match_all("/([0-9]*.[0-9]*)円~([0-9]*.[0-9]*)円/", $dom->text(), $matches_price); print_r($matches_price); echo "<br>"; ?> //取得したいhtmlの中身 <html> <head> ・・・ </head> <body> ・・・ <div class="infoArea02Wrap clearfix"> <div class="infoArea02L"> <div class="infoArea02Top"> <dl class="clearfix"> <dt>旅行代金</dt> <dd> <p class="price01"><em><strong>209,800円~259,800円</strong></em></p> <p class="price02">/大人1名様(2.3名1室利用) <span class="surcharge">(燃油サーチャージ別)</span></p> </dd> </dl> <script src="//e.his-j.com/static/02A/impresso/js/detail/fuel_another.js"></script> <span style="color:#FF0000; font-size:12px;">※8/19・8/31出発のみスーパーサマーセールの対象日です。それ以外の出発日は既に販売中です。</span> </div> ・・・ </body> </html> ```### 前提・実現したいこと htmlの中にある指定した要素を取り出したいです。 preg_match_all関数を使ってこのようなhtmlの中から、209,800円~259,800円の数値のみを取得したいです。 ### 試したこと 以上のようなソースコードを作ってみたのですが、$matches_priceの配列に何も要素が入っていなく困っています。出力された結果は以下のようになりました。 料金:Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) ) ### 補足情報(FW/ツールのバージョンなど) php5.6.34
回答1件
あなたの回答
tips
プレビュー