带有mediawiki链接的示例:https://www.visionduweb.eu/wiki/index.php?title=Utiliser_PHP
在此Mediawiki页面上显示源代码并识别侍酒师。
我搜索了如何解析源代码,并找到了该调查表的HTML代码。
我尝试使用$ domExemple = $ xpath-> query(«// ul / li»);但我的答案太多,而且格式不正确。
我尝试了$ domExemple = $ xpath-> query(«// ul / li [@ class =’toclevel-1 tocsection-1']»);这给了我结果,但是,如何获得所有toclevel和tocsection,而不必指定数字1或2或3,... toclevel或tocsection。
在此示例中,我没有得到HTML内容,只有文本内容。 我本来希望检索HTML内容。
答案 0 :(得分:0)
我相信您可以使用此处定义的语法来简化xpath表达式: How can I match on an attribute that contains a certain string?
尝试这样的事情:
$results = $xpath->query('//ul/li[contains(@class, "toclevel-") and contains(@class, "tocsection-"]');
foreach ($results as $li) {
// to get html of $li, import it into a fresh DOMDocument and run saveHTML
$newdoc = new DOMDocument();
$cloned = $li->cloneNode(true);
$newdoc->appendChild($newdoc->importNode($cloned, true));
echo $newdoc->saveHTML();
}