前提・実現したいこと
<html> <body> <header> </header> </body> <html>上記の構造のhtmlからDOMxpathを用いて<header>タグを抜いた状態の<body>タグを抽出したいのですが、xpathの書き方がわからず困っています。
$body = $xpath->query('//body')->item(0)->nodeValue;
で<body>タグの抽出には成功しています。
<?php $url = "https://4travel.jp/travelogue/11405390"; $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); $body_text = $xpath->query('//body/*[not(self::header)]')->item(0)->nodeValue; //$body_text = $xpath->query('//body')->item(0)->nodeValue; echo $body_text;
試したこと
$body = $xpath->query('//body/*[not(self::header)]->item(0)->nodeValue;
でやってみたのですが、<header>タグが消えてませんでした。
補足情報(FW/ツールのバージョンなど)
ubuntu18.04
Apache/2.4.29
PHP 7.2.5

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。