From: Michael Date: Mon, 22 Mar 2021 06:47:04 +0000 (+0000) Subject: ParseUrl: Perform entitity decode afterwards X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4db6f118841124778e2a15d71d7009f1af6f3d05;p=friendica.git ParseUrl: Perform entitity decode afterwards --- 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; }