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
DOMNodeListmethods seeEnumerable - for the CSS selector capabilities of the several selction methods see the
Symfony CssSelector Componentdocumentation
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']