chillerlan / php-prototype-dom
Prototype.js like DOM traversal and manipulation. PHP 7.4+
Fund package maintenance!
Ko Fi
www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4
Requires
- php: ^7.4 || ^8.0
- ext-dom: *
- ext-libxml: *
- symfony/css-selector: ^5.2
Requires (Dev)
- phpunit/phpunit: ^9.5
README
prototype.js like DOM traversal and manipulation for PHP 7.4+.
Documentation
An API documentation created with phpDocumentor can be found at https://chillerlan.github.io/php-prototype-dom/ (WIP).
- for the extended
DOMNode
(prototypejs) methods see:Element.Methods
- for the extended
DOMNodeList
methods seeEnumerable
- for the CSS selector capabilities of the several selction methods see the
Symfony CssSelector Component
documentation
Requirements
Installation
requires composer
composer.json
(note: replace dev-main
with a version boundary)
{ "require": { "php": "^7.4 || ^8.0", "chillerlan/php-prototype-dom": "dev-main" } }
Profit!
Quickstart
use chillerlan\PrototypeDOM\Document; use chillerlan\PrototypeDOM\Node\PrototypeHTMLElement; $document = new Document(file_get_contents('https://www.php.net/supported-versions.php')); $supportedVersions = $document->querySelectorAll('tr.stable > td:first-of-type > a') ->map(fn(PrototypeHTMLElement $a):string => $a->value()); var_dump($supportedVersions); // -> ['7.4', '8.0']