Symfony\Component\DomCrawler\Crawler::reduce PHP Method

reduce() public method

To remove a node from the list, the anonymous function must return false.
public reduce ( Closure $closure ) : Crawler
$closure Closure An anonymous function
return Crawler A Crawler instance with the selected nodes
    public function reduce(\Closure $closure)
    {
        $nodes = array();
        foreach ($this->nodes as $i => $node) {
            if (false !== $closure($this->createSubCrawler($node), $i)) {
                $nodes[] = $node;
            }
        }
        return $this->createSubCrawler($nodes);
    }

Usage Example

Beispiel #1
0
 /**
  * @param DomCrawler $nodes
  * @param callable   $closure
  *
  * @return DomCrawler
  */
 protected function reduce(DomCrawler $nodes, \Closure $closure)
 {
     return $nodes->reduce(function ($node) use($closure) {
         return $closure(new DOMNode($node));
     });
 }