summaryrefslogtreecommitdiff
path: root/src/Nodes/NodeUtility.php
diff options
context:
space:
mode:
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;
+ }
}