From 4db6f118841124778e2a15d71d7009f1af6f3d05 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 22 Mar 2021 06:47:04 +0000 Subject: [PATCH] ParseUrl: Perform entitity decode afterwards --- src/Util/ParseUrl.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Util/ParseUrl.php b/src/Util/ParseUrl.php index af34a0cb6f..d2986a362a 100644 --- a/src/Util/ParseUrl.php +++ b/src/Util/ParseUrl.php @@ -466,8 +466,7 @@ class ParseUrl $list = $xpath->query("//script[@type='application/ld+json']"); foreach ($list as $node) { if (!empty($node->nodeValue)) { - $nodevalue = html_entity_decode($node->nodeValue, ENT_COMPAT, 'UTF-8'); - if ($jsonld = json_decode($nodevalue, true)) { + if ($jsonld = json_decode($node->nodeValue, true)) { $siteinfo = self::parseParts($siteinfo, $jsonld); } } @@ -701,10 +700,16 @@ class ParseUrl if ($numeric_keys) { foreach ($jsonld as $part) { $siteinfo = self::parseParts($siteinfo, $part); - } + } } } + array_walk_recursive($siteinfo, function (&$element) { + if (is_string($element)) { + $element = html_entity_decode($element, ENT_COMPAT, 'UTF-8'); + } + }); + return $siteinfo; }