ne0bot / php-dom-wrapper
Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.
Installs: 15
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 34
pkg:composer/ne0bot/php-dom-wrapper
Requires
- php: >=5.5.9
- ext-libxml: *
- ext-mbstring: *
- lib-libxml: >=2.7.7
- symfony/css-selector: ^3.1
Requires (Dev)
- phpdocumentor/phpdocumentor: 2.8.*
- phpunit/phpunit: 4.6.*
README
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.
Author
- Andrew Scott (andrew@andrewscott.net.au)
Requirements
- PHP 5.4 or later
- PSR-4 compatible autoloader
Install
This library is designed to be installed via Composer.
Add the dependency into your projects composer.json.
{
  "require": {
    "scotteh/php-dom-wrapper": "dev-master"
  }
}
Download the composer.phar
curl -sS https://getcomposer.org/installer | php
Install the library.
php composer.phar install
Autoloading
This library requires an autoloader, if you aren't already using one you can include Composers autoloader.
require('vendor/autoload.php');
Methods
Manipulation
| Method | Implemented | 
|---|---|
| addClass | Yes | 
| after | Yes | 
| append | Yes | 
| attr | Yes | 
| before | Yes | 
| clone | Yes | 
| detach | Yes | 
| empty | Yes | 
| hasClass | Yes | 
| html | Yes | 
| prepend | Yes | 
| remove | Yes | 
| removeAttr | Yes | 
| removeClass | Yes | 
| replaceWith | Yes | 
| text | Yes | 
| unwrap | Yes | 
| wrap | Yes | 
| wrapAll | Yes | 
| wrapInner | Yes | 
Traversal
| Method | Implemented | Method Name (if different) | 
|---|---|---|
| add | Yes | |
| children | Yes | |
| closest | Yes | |
| contents | Yes | |
| eq | Yes | |
| filter | Yes | |
| find | Yes | |
| first | Yes | |
| has | Yes | |
| is | Yes | |
| last | Yes | |
| map | Yes | |
| next | Yes | following | 
| nextAll | Yes | followingAll | 
| nextUntil | Yes | followingUntil | 
| not | Yes | |
| parent | Yes | |
| parents | Yes | |
| parentsUntil | Yes | |
| prev | Yes | preceding | 
| prevAll | Yes | precedingAll | 
| prevUntil | Yes | precedingUntil | 
| siblings | Yes | |
| slice | Yes | 
Additional Methods:
- count()
- each()
Usage
Example #1:
use DOMWrap\Document; $html = '<ul><li>First</li><li>Second</li><li>Third</li></ul>'; $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->append('<b>!</b>'); // Returns: <html><body><ul><li>First<b>!</b></li><li>Second<b>!</b></li><li>Third<b>!</b></li></ul></body></html> var_dump($doc->saveHTML($doc));
Licensing
PHP DOM Wrapper is licensed by Andrew Scott under the BSD 3-Clause License, see the LICENSE file for more details.