带有媒体维基链接的示例:https://www.visionduweb.eu/wiki/index.php?title=Utiliser_PHP
在这个Mediawiki页面上显示源代码并识别sommaire。
我搜索了一下如何解析源代码,并找到了这个sommaire的HTML代码。
我尝试了$domExemple =$xpath->查询(«//ul/li»);但是我有太多的答案,而且格式也不好。
我尝试使用$domExemple =$xpath->查询(«//ul/li@class=‘toclevel - 1 tocsection -1’»),它给出了结果,但是,如何在不指定数字1、2或3的情况下获得所有toclevel和tocsection ...toclevel或tocsection。
在这个例子中,我没有得到HTML内容,只得到了文本内容。我更喜欢检索HTML内容。
发布于 2018-07-04 07:27:46
我相信您可以使用这里定义的语法简化您的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();
}
https://stackoverflow.com/questions/51163539
复制相似问题