前提・実現したいこと
phpを使って指定したurlから特定のタグの抽出を行っています。
DOMxpathを用いて指定のURLから<h5>タグの要素をそれぞれ配列に格納したいのですが、方法がわかりません。現時点では、<h5>タグの抽出は以下の出力結果の通りになっています。
このようなhtml構造の中で<h5>タグから抽出したABCDEと12345を
array(0) = ABCDE
array(1) = 12345
のように配列で格納したいです。DOMxpathを使って要素を抽出した後の処理がわかりません。
<出力結果>
/------------<h5>----------------/
string(30) "旅行代金(お一人様)" string(30) "追加料金(お一人様)"
この2つある要素を1つの配列に格納したいです。
該当のソースコード
<!DOCTYPE html> <html> <head> <title>研究</title> </head> <body> <?php //対象URL $opts = array('http'=>array('header' => "User-Agent:MyAgent/1.0rn")); $context = stream_context_create($opts); $url = "https://search.mwt.co.jp/mintl/detail/CFMZ67VADC12.html?mediacd=ZTP"; $html = file_get_contents($url,false,$context); $dom = new DOMDocument; @$dom->loadHTML( mb_convert_encoding($html, 'HTML-ENTITIES', 'ASCII,JIS,UTF-8,eucJP-win,SJIS-win'), LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD ); $xpath = new DOMXPath($dom); echo "/*------------<h5>----------------*/<br>"; $h5 = $xpath->query('//h5'); foreach ($h5 as $h5_result){ if(empty($h5_result->nodeValue)){ echo "該当なし"; } var_dump($h5_result->nodeValue); } ?>
補足情報(FW/ツールのバージョンなど)
php5.6.37 eclipseOxygen
回答1件
あなたの回答
tips
プレビュー