2017 © Pedro Peláez
 

library php-dom-wrapper

Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

image

scotteh/php-dom-wrapper

Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

  • Tuesday, May 1, 2018
  • by scotteh
  • Repository
  • 8 Watchers
  • 24 Stars
  • 26,577 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 12 Forks
  • 1 Open issues
  • 22 Versions
  • 9 % Grown

The README.md

PHP DOM Wrapper

Intro

PHP DOM Wrapper is a simple DOM wrapper library to manipulate and traverse HTML documents. Based around jQuery's manipulation and traversal methods, largely mimicking the behaviour of it's jQuery counterparts., (*1)

Author

  • Andrew Scott (andrew@andrewscott.net.au)

Requirements

  • PHP 8.0 or later
  • PSR-4 compatible autoloader

Install

Install with Composer., (*2)

composer require scotteh/php-dom-wrapper

Autoloading

This library requires an autoloader, if you aren't already using one you can include Composers autoloader., (*3)

``` php require 'vendor/autoload.php';, (*4)


## Methods ### Manipulation | Method | jQuery Equivalent *(if different)* | |--------|------------------------------| | [addClass()](#addClass) | | [follow()](#follow) | *after()* | | [appendWith()](#appendWith) | *append()* | | [appendTo()](#appendTo) | | [attr()](#attr) | | [clone()](#clone) | | [destroy()](#destroy) | *remove()* | | [detach()](#detach) | | [empty()](#empty) | | [hasClass()](#hasClass) | | [html()](#html) | | [precede()](#precede) | *before()* | | [prependWith()](#prependWith) | *prepend()* | | [prependTo()](#prependTo) | | [removeAttr()](#removeAttr) | | [removeClass()](#removeClass) | | [substituteWith()](#substituteWith) | *replaceWith()* | | [text()](#text) | | [unwrap()](#unwrap) | | [wrap()](#wrap) | | [wrapAll()](#wrapAll) | | [wrapInner()](#wrapInner) | ### Traversal | Method | jQuery Equivalent *(if different)* | |--------|------------------------------| | [add()](#add) | | [children()](#children) | | [closest()](#closest) | | [contents()](#contents) | | [eq()](#eq) | | [filter()](#filter) | | [find()](#find) | | [first()](#first) | | [has()](#has) | | [is()](#is) | | [last()](#last) | | [map()](#map) | | [following()](#following) | *next()* | | [followingAll()](#followingAll) | *nextAll()* | | [followingUntil()](#followingUntil) | *nextUntil()* | | [not()](#not) | | [parent()](#parent) | | [parents()](#parents) | | [parentsUntil()](#parentsUntil) | | [preceding()](#preceding) | *prev()* | | [precedingAll()](#precedingAll) | *prevAll()* | | [precedingUntil()](#precedingUntil) | *prevUntil()* | | [siblings()](#siblings) | | [slice()](#slice) | ### Other | Method | jQuery Equivalent *(if different)* | |--------|------------------------------| | [count()](#count) | *length* (property) | | [each()](#each) ## Usage Example #1: ``` php use DOMWrap\Document; $html = '
  • First
  • Second
  • Third
'; $doc = new Document(); $doc->html($html); $nodes = $doc->find('li'); // Returns '3' var_dump($nodes->count()); // Append as a child node to each <li> $nodes->appendWith('<b>!</b>'); // Returns: <html><body>
  • First!
  • Second!
  • Third!
</body></html> var_dump($doc->html());

Methods

Manipulation

addClass

self addClass(string|callable $class)
Example
$doc = (new Document())->html('<p>first paragraph</p><p>second paragraph</p>');
$doc->find('p')->addClass('text-center');

Result:, (*5)

``` html , (*6)

first paragraph, (*7)

second paragraph, (*8)


--- #### follow

self follow(string|NodeList|\DOMNode|callable $input), (*9)


Insert the argument as a sibling directly after each of the nodes operated on. ##### Example ``` php $doc = (new Document())->html('
  • first
  • second
'); $doc->find('li')->first()->follow('<li>first-and-a-half</li>');

Result:, (*10)

``` html , (*11)

  • first
  • first-and-a-half
  • second

--- #### appendWith

self appendWith(string|NodeList|\DOMNode|callable $input), (*12)


##### Example ``` php $doc = (new Document())->html('<div>The quick brown fox jumps over the lazy dog</div>'); $doc->find('div')->appendWith('<strong> Appended!</strong>');

Result:, (*13)

``` html , (*14)

The quick brown fox jumps over the lazy dog Appended!

--- #### appendTo

self appendTo(string|NodeList|\DOMNode $selector), (*15)


##### Example ``` php $doc = (new Document())->html('<div>The quick brown fox jumps over the lazy dog</div>'); $doc->create('<strong> Appended!</strong>')->appendTo('div');

Result: ``` html , (*16)

The quick brown fox jumps over the lazy dog Appended!

--- #### attr

self|string attr(string $name[, mixed $value = null]), (*17)


##### Example #1 (Set) ``` php $doc = (new Document())->html('<div class="text-center"></div>'); $doc->attr('class', 'text-left');

Result:, (*18)

``` html , (*19)


##### Example #2 (Get) ``` php $doc = (new Document())->html('<div class="text-center"></div>'); echo $doc->attr('text-center');

Result:, (*20)

``` html text-center, (*21)


--- #### precede

self precede(string|NodeList|\DOMNode|callable $input), (*22)


Insert the argument as a sibling just before each of the nodes operated on. ##### Example ``` php $doc = (new Document())->html('<ul><li>first</li><li>second</li></ul>'); doc->find('li')->first()->precede('<li>zeroth</li>');

Result:, (*23)

``` html , (*24)

  • zeroth
  • first
  • second

--- #### clone

NodeList|\DOMNode clone(), (*25)


##### Example ``` php $doc = (new Document())->html('<ul><li>Item</li></ul>'); $doc->find('div')->clone()->appendTo('ul');

Result:, (*26)

``` html , (*27)

  • Item
  • Item

--- #### destroy

self destroy([string $selector = null]), (*28)


##### Example ``` php $doc = (new Document())->html('<ul><li class="first"></li><li class="second"></li></ul>'); $doc->find('.first')->destroy();

Result: ``` html , (*29)


--- #### detach

NodeList detach([string $selector = null]), (*30)


##### Example ``` php $doc = (new Document())->html('<ul class="first"><li>Item</li></ul><ul class="second"></ul>'); $el = $doc->find('ul.first li')->detach(); $doc->first('ul.second').append($el);

Result:, (*31)

``` html , (*32)

    • Item

    --- #### empty

    self empty(), (*33)


    ##### Example ``` php $doc = (new Document())->html('<div>The quick brown fox jumps over the lazy dog</div>'); $doc->find('div')->empty();

    Result:, (*34)

    ``` html , (*35)


    --- #### hasClass

    bool hasClass(string $class), (*36)


    ##### Example ``` php $doc = (new Document())->html('<div class="text-center"></div>'); echo $doc->first('div')->hasClass('text-center');

    Result:, (*37)

    ``` html true, (*38)


    --- #### html

    string|self html([string|NodeList|\DOMNode|callable $input = null]), (*39)


    ##### Example #1 (Set) ``` php $doc = (new Document()); $doc->html('<div class="example"></div>');

    Result:, (*40)

    ``` html , (*41)


    ##### Example #1 (Get) ``` php $doc = (new Document())->html('<div class="example"></div>'); $doc->find('div')->appendWith('<span>Example!</span>'); echo $doc->html();

    Result:, (*42)

    ``` html , (*43)

    Example!

    --- #### prependWith

    self prependWith(string|NodeList|\DOMNode|callable $input), (*44)


    ##### Example ``` php $doc = (new Document())->html('<div>The quick brown fox jumps over the lazy dog</div>'); $doc->find('div')->prependWith('<strong>Prepended! </strong>');

    Result:, (*45)

    ``` html , (*46)

    Prepended! The quick brown fox jumps over the lazy dog

    --- #### prependTo

    self prependTo(string|NodeList|\DOMNode $selector), (*47)


    ##### Example ``` php $doc = (new Document())->html('<div>The quick brown fox jumps over the lazy dog</div>'); $doc->create('<strong>Prepended! </strong>')->appendTo('div');

    Result: ``` html , (*48)

    Prepended! The quick brown fox jumps over the lazy dog

    --- #### removeAttr

    self removeAttr(string $name), (*49)


    ##### Example ``` php $doc = (new Document())->html('<div class="first second"></div>'); $doc->find('div').removeAttr('class');

    Result: ``` html , (*50)


    --- #### removeClass

    self removeClass(string|callable $class), (*51)


    ##### Example ``` php $doc = (new Document())->html('<div class="first second"></div>'); $doc->find('div').removeClass('first');

    Result: ``` html , (*52)


    --- #### substituteWith

    self substituteWith(string|NodeList|\DOMNode|callable $input), (*53)


    Replace each node in the current set with the contents provided. ##### Example ``` php $doc = (new Document())->html('<p><b>Hello</b> <b>World!</b></p>'); $doc->find('b')->substituteWith(function($node) { return '<em>' . $node->text() . '</em>'; }); echo $doc->html();

    Result: ``` html , (*54)

    Hello World!, (*55)


    --- #### text

    string|self text([string|NodeList|\DOMNode|callable $input = null]), (*56)


    Get the text contents of the current set. ##### Example (get) ``` php $doc = (new Document())->html('<div class="text">Hello World!</div>'); echo $doc->find('.text')->text();

    Result: ``` html Hello World!, (*57)


    Set the text contents for current set. ##### Example (set) ``` php $doc = (new Document())->html('<div class="text"><string>The quick brown</strong> fox <em>jumps over the lazy dog</em></div>'); $doc->find('.text')->text('Hello World!'); echo $doc->html();

    Result: ``` html , (*58)

    Hello World!

    --- #### unwrap

    self unwrap(), (*59)


    Unwrap each current node by removing its parent, replacing the parent with its children (i.e. the current node and its siblings). Note that each node is operated on separately, so when you call `unwrap()` on a `NodeList` containing two siblings, *two* parents will be removed. ##### Example ``` php $doc = (new Document())->html('<div id="outer"><div id="first"/><div id="second"/></div>'); $doc->find('#first')->unwrap();

    Result:, (*60)

    ``` html , (*61)


    --- #### wrap

    self wrap(string|NodeList|\DOMNode|callable $input), (*62)


    Wrap the current node or nodes in the given structure. The wrapping structure can be nested, but should only contain one node on each level (any extra siblings are removed). The outermost node replaces the node operated on, while the node operated on is put into the innermost node. If called on a `NodeList`, each of nodes in the list will be separately wrapped. When such a list contains multiple nodes, the argument to wrap() cannot be a `NodeList` or `\DOMNode`, since those can be used to wrap a node only once. A string or callable returning a string or a unique `NodeList` or `\DomNode` every time can be used in this case. When a callable is passed, it is called once for each node operated on, passing that node and its index. The callable should return either a string, or a unique `NodeList` or `\DOMNode` ever time it is called. Note that this returns the original node like all other methods, not the (new) node(s) wrapped around it. ##### Example ``` php $doc = (new Document())->html('<span>foo<span><span>bar</span>'); $doc->find->('span')->wrap('<div><p/></div>');

    Result:, (*63)

    ``` html , (*64)

    foo, (*65)

    bar, (*66)



    --- #### wrapAll

    self wrapAll(string|NodeList|\DOMNode|callable $input), (*67)


    Like [wrap()](#wrap), but when operating on multiple nodes, all of them will be wrapped together in a single instance of the given structure, rather than each of them individually. Note that the wrapping structure replaces the first node operated on, so if the other nodes operated on are not siblings of the first, they will be moved inside the document. ##### Example ``` php $doc = (new Document())->html('<span>foo<span><span>bar</span>'); $doc->find->('span')->wrapAll('<div><p/></div>');

    Result:, (*68)

    ``` html , (*69)

    foo bar , (*70)


    --- #### wrapInner

    self wrapInner(string|NodeList|\DOMNode|callable $input), (*71)


    Like [wrap()](#wrap), but rather than wrapping the nodes that are being operated on, this wraps their contents. ##### Example ``` php $doc = (new Document())->html('<span>foo<span><span>bar</span>'); $doc->find('span')->wrapInner('<b><i/></b>');

    Result:, (*72)

    ``` html foo bar, (*73)


    --- ### Traversal #### add

    NodeList add(string|NodeList|\DOMNode $input), (*74)


    Add additional node(s) to the existing set. ##### Example ``` php $nodes = $doc->find('a'); $nodes->add($doc->find('p'));

    children

    NodeList children()
    

    Return all children of each element node in the current set., (*75)

    Example

    ``` php $nodes = $doc->find('p'); $childrenOfParagraphs = $nodes->children();, (*76)


    --- #### closest

    Element|NodeList|null closest(string|NodeList|\DOMNode|callable $input), (*77)


    Return the first element matching the supplied input by traversing up through the ancestors of each node in the current set. ##### Example ``` php $nodes = $doc->find('a'); $closestAncestors = $nodes->closest('p');

    contents

    NodeList contents()
    

    Return all children of each node in the current set., (*78)

    Example

    ``` php $nodes = $doc->find('p'); $contents = $nodes->contents();, (*79)


    --- #### eq

    \DOMNode|null eq(int $index), (*80)


    Return node in the current set at the specified index. ##### Example ``` php $nodes = $doc->find('a'); $nodeAtIndexOne = $nodes->eq(1);

    filter

    NodeList filter(string|NodeList|\DOMNode|callable $input)
    

    Return nodes in the current set that match the input., (*81)

    Example

    ``` php $nodes = $doc->filter('a') $exampleATags = $nodes->filter('[href*=https://example.org/]');, (*82)


    --- #### find

    NodeList find(string $selector[, string $prefix = 'descendant::']), (*83)


    Return the decendants of the current set filtered by the selector and optional XPath axes. ##### Example ``` php $nodes = $doc->find('a');

    first

    mixed first()
    

    Return the first node of the current set., (*84)

    Example

    ``` php $nodes = $doc->find('a'); $firstNode = $nodes->first();, (*85)


    --- #### has

    NodeList has(string|NodeList|\DOMNode|callable $input), (*86)


    Return nodes with decendants of the current set matching the input. ##### Example ``` php $nodes = $doc->find('a'); $anchorTags = $nodes->has('span');

    is

    bool is(string|NodeList|\DOMNode|callable $input)
    

    Test if nodes from the current set match the input., (*87)

    Example

    ``` php $nodes = $doc->find('a'); $isAnchor = $nodes->is('[anchor]');, (*88)


    --- #### last

    mixed last(), (*89)


    Return the last node of the current set. ##### Example ``` php $nodes = $doc->find('a'); $lastNode = $nodes->last();

    map

    NodeList map(callable $function)
    

    Apply a callback to nodes in the current set and return a new NodeList., (*90)

    Example

    ``` php $nodes = $doc->find('a'); $nodeValues = $nodes->map(function($node) { return $node->nodeValue; });, (*91)


    --- #### following

    \DOMNode|null following([string|NodeList|\DOMNode|callable $selector = null]), (*92)


    Return the sibling immediately following each element node in the current set. *Optionally filtered by selector.* ##### Example ``` php $nodes = $doc->find('a'); $follwingNodes = $nodes->following();

    followingAll

    NodeList followingAll([string|NodeList|\DOMNode|callable $selector = null])
    

    Return all siblings following each element node in the current set., (*93)

    Optionally filtered by selector., (*94)

    Example

    ``` php $nodes = $doc->find('a'); $follwingAllNodes = $nodes->followingAll('[anchor]');, (*95)


    --- #### followingUntil

    NodeList followingUntil([[string|NodeList|\DOMNode|callable $input = null], string|NodeList|\DOMNode|callable $selector = null]), (*96)


    Return all siblings following each element node in the current set upto but not including the node matched by $input. *Optionally filtered by input.*<br> *Optionally filtered by selector.* ##### Example ``` php $nodes = $doc->find('a'); $follwingUntilNodes = $nodes->followingUntil('.submit');

    not

    NodeList not(string|NodeList|\DOMNode|callable $input)
    

    Return element nodes from the current set not matching the input., (*97)

    Example

    ``` php $nodes = $doc->find('a'); $missingHrefAttribute = $nodes->not('[href]');, (*98)


    --- #### parent

    Element|NodeList|null parent([string|NodeList|\DOMNode|callable $selector = null]), (*99)


    Return the immediate parent of each element node in the current set. *Optionally filtered by selector.* ##### Example ``` php $nodes = $doc->find('a'); $parentNodes = $nodes->parent();

    parents

    NodeList parent([string $selector = null])
    

    Return the ancestors of each element node in the current set., (*100)

    Optionally filtered by selector., (*101)

    Example

    ``` php $nodes = $doc->find('a'); $ancestorDivNodes = $nodes->parents('div');, (*102)


    --- #### parentsUntil

    NodeList parentsUntil([[string|NodeList|\DOMNode|callable $input, [string|NodeList|\DOMNode|callable $selector = null]), (*103)


    Return the ancestors of each element node in the current set upto but not including the node matched by $selector. *Optionally filtered by input.*<br> *Optionally filtered by selector.* ##### Example ``` php $nodes = $doc->find('a'); $ancestorDivNodes = $nodes->parentsUntil('div');

    preceding

    \DOMNode|null preceding([string|NodeList|\DOMNode|callable $selector = null])
    

    Return the sibling immediately preceding each element node in the current set., (*104)

    Optionally filtered by selector., (*105)

    Example

    ``` php $nodes = $doc->find('a'); $precedingNodes = $nodes->preceding();, (*106)


    --- #### precedingAll

    NodeList precedingAll([string|NodeList|\DOMNode|callable $selector = null]), (*107)


    Return all siblings preceding each element node in the current set. *Optionally filtered by selector.* ##### Example ``` php $nodes = $doc->find('a'); $precedingAllNodes = $nodes->precedingAll('[anchor]');

    precedingUntil

    NodeList precedingUntil([[string|NodeList|\DOMNode|callable $input = null], string|NodeList|\DOMNode|callable $selector = null])
    

    Return all siblings preceding each element node in the current set upto but not including the node matched by $input., (*108)

    Optionally filtered by input.
    Optionally filtered by selector., (*109)

    Example

    ``` php $nodes = $doc->find('a'); $precedingUntilNodes = $nodes->precedingUntil('.submit');, (*110)


    --- #### siblings

    NodeList siblings([[string|NodeList|\DOMNode|callable $selector = null]), (*111)


    Return siblings of each element node in the current set. *Optionally filtered by selector.* ##### Example ``` php $nodes = $doc->find('p'); $siblings = $nodes->siblings();

    slice

    NodeList slice(int $start[, int $end])
    

    Return a subset of the current set based on the start and end indexes., (*112)

    Example

    ``` php $nodes = $doc->find('p'); // Return nodes 1 through to 3 as a new NodeList $slicedNodes = $nodes->slice(1, 3);, (*113)


    --- ### Additional Methods #### count

    int count(), (*114)


    Return number of nodes in the current set ##### Example ``` php $nodes = $doc->find('p'); echo $nodes->count();

    each

    self each(callable $function)
    

    Iterate through for each item in the existing set via callback, (*115)

    Example

    ``` php $nodes = $doc->find('p');, (*116)

    $nodes->each(function($node){ echo $node->nodeName . "\n"; }); ```, (*117)

    Licensing

    PHP DOM Wrapper is licensed by Andrew Scott under the BSD 3-Clause License, see the LICENSE file for more details., (*118)

    The Versions

    01/05 2018

    dev-master

    9999999-dev https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    01/05 2018

    1.0.6

    1.0.6.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    31/03 2018

    1.0.5

    1.0.5.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    04/03 2018

    1.0.4

    1.0.4.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    19/02 2018

    1.0.3

    1.0.3.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    15/02 2018

    1.0.2

    1.0.2.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    14/02 2018

    1.0.1

    1.0.1.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    14/02 2018

    1.0.0

    1.0.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    15/11 2017

    0.7.3

    0.7.3.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    15/11 2017

    dev-php7.1

    dev-php7.1 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    12/01 2017

    0.7.2

    0.7.2.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    10/12 2016

    0.7.1

    0.7.1.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    10/12 2016

    0.7.0

    0.7.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    07/12 2015

    0.6.3

    0.6.3.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    07/10 2015

    0.6.2

    0.6.2.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    28/09 2015

    0.6.1

    0.6.1.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    28/09 2015

    0.6.0

    0.6.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    24/09 2015

    0.5.0

    0.5.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    11/09 2015

    0.4.0

    0.4.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    31/07 2015

    0.3.0

    0.3.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    29/05 2015

    0.2.0

    0.2.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom

    06/05 2015

    0.1.0

    0.1.0.0 https://github.com/scotteh/php-dom-wrapper

    Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.

      Sources   Download

    BSD-3-Clause

    The Requires

     

    The Development Requires

    parser css html wrapper dom