vladshut/php-dom-wrapper

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

0.3.0 2015-07-31 13:51 UTC

This package is auto-updated.

Last update: 2024-03-11 16:40:38 UTC


README

#PHP DOM Wrapper Scrutinizer Code Quality Build Status

##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

##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.