summaryrefslogtreecommitdiff
path: root/src/Nodes/NodeUtility.php
diff options
context:
space:
mode:
authorAndres Rey <[email protected]>2019-06-17 20:29:32 +0100
committerAndres Rey <[email protected]>2019-06-17 20:29:32 +0100
commitdf9d3e1634bc76978baa989a6cee4035a2a346d4 (patch)
tree01a43b02943eeb95a06640bd20a18943cdd598e0 /src/Nodes/NodeUtility.php
parente38cbfaebd1f826233f7a0e07c66a52f44e9b796 (diff)
Remove getChildren function, implement a fake DOMNodeList class. Prepare everything to support newer versions of libxml2
Diffstat (limited to 'src/Nodes/NodeUtility.php')
-rw-r--r--src/Nodes/NodeUtility.php18
1 files changed, 18 insertions, 0 deletions
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;
+ }
}