wan3574489 / php-dom-wrapper
Simple DOM wrapper to select nodes using either CSS or XPath expressions and manipulate results quickly and easily.
Requires
- php: >=5.4.0
- ext-libxml: *
- ext-mbstring: *
- lib-libxml: >=2.7.6
- symfony/css-selector: ~2.6
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.