Functors
The classes can now be called as functions to navigate in a DOM with XPath expressions. The following example fetches all link hrefs attributes from an HTML page:$dom = new \FluentDOM\Document(); $dom->loadHTMLFile('http://fluentdom.org/'); $links = []; foreach ($dom('//a[@href]/@href') as $href) { $links[] = (string)$href; }
This works for most of the nodes in a DOM.
Creator
The new Creator class provides short syntax to create DOM nodes. More detailed information can be found in the wiki.$_ = FluentDOM::create(); echo $_( 'ul', ['class' => 'navigation'], $_('li', 'FluentDOM') );
XML To JSON
Several serializers/loaders for JSON where added. JSONML, Rayfish, BadgerFish and RabbitFish are supported.echo "XML -> JsonML\n\n"; $json = json_encode( new FluentDOM\Serializer\Json\JsonML($dom), JSON_PRETTY_PRINT); echo $json; echo "\n\nJsonML -> XML\n\n"; echo FluentDOM( $json, 'application/jsonml+json')->formatOutput();