From 7dde870afb115824e7bfa88f1711b95e1363a559 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Wed, 13 Apr 2022 00:16:05 +0200 Subject: [PATCH] Improve type-safety of wikidata fetcher --- src/NodaWikidataFetcher.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/NodaWikidataFetcher.php b/src/NodaWikidataFetcher.php index 7bdec52..98d9bc7 100644 --- a/src/NodaWikidataFetcher.php +++ b/src/NodaWikidataFetcher.php @@ -343,30 +343,34 @@ final class NodaWikidataFetcher { $list = $doc->getElementsByTagName("style"); while ($list->length > 0) { $p = $list->item(0); + if ($p === null || $p->parentNode === null) break; $p->parentNode->removeChild($p); } $list = $doc->getElementsByTagName("table"); while ($list->length > 0) { $p = $list->item(0); + if ($p === null || $p->parentNode === null) break; $p->parentNode->removeChild($p); } $list = $doc->getElementsByTagName("div"); while ($list->length > 1) { $p = $list->item(1); + if ($p === null || $p->parentNode === null) break; $p->parentNode->removeChild($p); } $list = $doc->getElementsByTagName("ol"); while ($list->length > 0) { $p = $list->item(0); + if ($p === null || $p->parentNode === null) break; $p->parentNode->removeChild($p); } $firstP = $doc->getElementsByTagName("p")->item(0); if (strpos($doc->saveHTML($firstP), 'geohack') !== false) { - $firstP->parentNode->removeChild($firstP); + if ($firstP !== null && $firstP->parentNode !== null) $firstP->parentNode->removeChild($firstP); } /*