prototype.js like DOM traversal and manipulation for PHP 7.4+.
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
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!
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']