Как я могу разобрать Mediawiki Sommaire и найти HTML-код с помощью PHP? - PullRequest
0 голосов
/ 04 июля 2018

Пример со ссылкой на медиа-вики: https://www.visionduweb.eu/wiki/index.php?title=Utiliser_PHP

Показать исходный код и идентифицировать sommaire на этой странице 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.

1 Ответ

0 голосов
/ 04 июля 2018

Полагаю, вы можете упростить выражение xpath, используя синтаксис, определенный здесь: Как мне сопоставить атрибут, содержащий определенную строку?

Попробуйте что-то вроде этого:

$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();
}
...