From df9d3e1634bc76978baa989a6cee4035a2a346d4 Mon Sep 17 00:00:00 2001 From: Andres Rey Date: Mon, 17 Jun 2019 20:29:32 +0100 Subject: Remove getChildren function, implement a fake DOMNodeList class. Prepare everything to support newer versions of libxml2 --- src/Nodes/NodeUtility.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/Nodes/NodeUtility.php') diff --git a/src/Nodes/NodeUtility.php b/src/Nodes/NodeUtility.php index 7a1f18e..631a0aa 100644 --- a/src/Nodes/NodeUtility.php +++ b/src/Nodes/NodeUtility.php @@ -5,6 +5,7 @@ namespace andreskrey\Readability\Nodes; use andreskrey\Readability\Nodes\DOM\DOMDocument; use andreskrey\Readability\Nodes\DOM\DOMElement; use andreskrey\Readability\Nodes\DOM\DOMNode; +use andreskrey\Readability\Nodes\DOM\DOMNodeList; /** * Class NodeUtility. @@ -157,4 +158,21 @@ class NodeUtility return ($originalNode) ? $originalNode->nextSibling : $originalNode; } + + /** + * Remove all empty DOMNodes from DOMNodeLists + * + * @param \DOMNodeList $list + * @return DOMNodeList + */ + public static function filterTextNodes(\DOMNodeList $list) + { + $newList = new DOMNodeList(); + foreach($list as $node){ + if($node->nodeType !== XML_TEXT_NODE || mb_strlen(trim($node->nodeValue))){ + $newList->add($node); + } + } + return $newList; + } } -- cgit v1.2.3