2017 © Pedro Peláez
 

library dom-navigator

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

image

mima/dom-navigator

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

  • Tuesday, September 27, 2016
  • by MimaTomis
  • Repository
  • 1 Watchers
  • 0 Stars
  • 13 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

PHP DOMNavigator

Build Status, (*1)

About library

The library is a wrapper for the implementation of DOM in php. Designed for easy loading html document, parse it. It allows you to implement your own algorithm search elements., (*2)

Documentation

Installation

Run command:, (*3)

composer require mima/dom-navigator

Add dependency on your composer.json:, (*4)

{
    "require": {
        "mima/dom-navigator": "@stable"
    }
}

Use Navigator

For beginning usage navigator need create an instance of DOMNavigator\Navigator class:, (*5)

use DOMNavigator\Navigator;
use DOMNavigator\Loader\StringLoader;
use DOMNavigator\Finder\XPathFinder;

$loader = new StringLoader();
$finder = new XPathFinder();

$navigator = new Navigator($loader, $finder);

Before search in document need load document:, (*6)

// For load HTML document call:
$navigator->loadHTML($htmlContent);

// or call next method for load XML document:
$navigator->loadXML($xmlContent);

When you call method loadHTML or loadXML, navigator try to load DOMDocument with help DOMNavigator\Loader\StringLoader (in this example). After loading you may use navigate method for search elements in document., (*7)

// return \DOMNodeList with list of found elements
$addressNodes = $navigator->navigate("//div[@id='address']");

Navigate method always return \DOMNodeList. It is possible to search in the context of an element:, (*8)

// $addresNodes is a list of element from previous example
$cityNodes = $navigator->navigate("*[@id='city']", $addressNodes->item(0));

If you want find out number of found elements, follow to this example:, (*9)

if ($cityNodes->length > 0) {
    ...
}

Create custom Finder

All finders need implement interface DOMNavigator\Finder\FinderInterface., (*10)

Create custom Loader

All loaders need implement DOMNavigator\Finder\LoaderInterface., (*11)

Use CompositeLoader

If you are not sure of the source through the document, you can use CompositeLoader:, (*12)

use DOMNavigator\Loader\CompositeLoader;
use DOMNavigator\Loader\URLLoader;
use DOMNavigator\Loader\FileLoader;
use DOMNavigator\Loader\StringLoader;


$stringLoader = new StringLoader();
$urlLoader = new URLLoader($stringLoader);
$fileLoader = new FileLoader();

// set loaders with construct
$compositeLoader = new CompositeLoader([$stringLoader, $urlLoader]);

// set loader with method
$compositeLoader->addLoader($fileLoader);

The next step is assigning the loader in the navigator:, (*13)

// as first argument in constructor
$navigator = new Navigator($compositeLoader, $finder);

// or using a special method
$navigator->setLoader($compositeLoader);

The Versions

27/09 2016

dev-master

9999999-dev

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Dmitriy Konev

07/09 2016

dev-develop

dev-develop

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Dmitriy Konev

07/09 2016

v1.0.2

1.0.2.0

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Dmitriy Konev

14/03 2016

v1.0.1

1.0.1.0

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Dmitriy Konev

02/03 2016

v1.0.0

1.0.0.0

Simple wrapper for find elements in DOMNode. Adds XPath, Selector (like jQuery) mechanism to find elements, allow create own implementation.

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Dmitriy Konev