Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Dom Laravel Package

phpgt/dom

A modern DOM API for PHP built on the native DOMDocument, giving you browser-style, standardised object-oriented DOM manipulation server-side. Treat HTML files as templates and ready-process pages for browsers, webservers and CDNs.

View on GitHub
Deep Wiki
Context7

Modern DOM API.

Frequently asked questions about Dom
What is phpgt/dom and how does it work in a Laravel application?
phpgt/dom is a modern DOM API for PHP built on top of the native DOMDocument. It gives you browser-style, object-oriented DOM manipulation server-side, including CSS selectors and chainable methods. In Laravel, you can use it without any Laravel-specific hooks, service provider, or facade, making it easy to adopt in existing apps.
How do I install phpgt/dom in a Laravel project?
Install it with Composer using composer require phpgt/dom. The package works with vanilla PHP and does not require Laravel-specific registration. If you want reusable DOM instances, you can optionally bind it as a singleton in Laravel's service container.
Does phpgt/dom support CSS selectors and chainable DOM manipulation?
Yes, phpgt/dom is designed around a browser-style API with CSS selector queries and chainable methods. This makes operations like finding elements by class or traversing the DOM more readable than raw DOMXPath calls. It is a good fit when you want cleaner syntax for HTML parsing and manipulation in PHP.
Is phpgt/dom compatible with Laravel Blade templates?
phpgt/dom is not a Blade replacement, but it can parse and manipulate HTML that Blade or other systems generate. It is useful for post-processing rendered HTML, working with user-uploaded templates, or preparing pages for browsers, web servers, and CDNs. Avoid tightly coupling view logic to direct element value changes, as the package's own documentation warns.
What PHP and Laravel versions does phpgt/dom require?
phpgt/dom requires PHP 8.1 or newer, so it fits Laravel versions that support PHP 8.1 and above, such as Laravel 10 and later. Always confirm your exact Laravel and PHP version combination before adopting it. If you are on an older PHP version, you will need to upgrade or choose a different DOM package.
How does phpgt/dom compare with native DOMDocument or symfony/dom-crawler?
phpgt/dom offers a more intuitive, modern API than native DOMDocument and DOMXPath, with CSS selectors and chainable methods. Compared with symfony/dom-crawler, it has a smaller ecosystem but focuses on modern PHP DOM manipulation rather than HTTP-based scraping. For complex crawler workflows, symfony/dom-crawler plus an HTTP client may be more mature; for direct HTML/XML manipulation, phpgt/dom can be cleaner.
Can phpgt/dom handle malformed HTML and XML namespaces?
Because phpgt/dom is built on PHP's native DOMDocument, its behavior with malformed HTML depends on DOMDocument's leniency. You should test invalid inputs explicitly and validate DOM integrity after manipulation. Namespace handling is critical for XML or SVG processing, so test those cases carefully before relying on the package in production.
How do I test phpgt/dom code in Laravel?
Use Laravel's PHPUnit and Mockery setup to unit test DOM manipulation logic and to validate selector accuracy. Feature tests can cover endpoints that parse or transform HTML, while focused tests can compare outputs against native DOMXPath results. Mocking interfaces or wrapper classes helps keep DOM parsing isolated and easier to test.
Is phpgt/dom safe for parsing untrusted HTML in production?
phpgt/dom is not a sanitization library, so it should not be treated as a security boundary for untrusted HTML. Pair it with a dedicated sanitizer such as HTMLPurifier or appropriate Laravel escaping and validation. Also test malformed and malicious input handling before using it in production workflows.
Is phpgt/dom actively maintained and a good long-term choice for Laravel projects?
phpgt/dom has recent releases, which suggests active maintenance, but you should verify its roadmap against your Laravel PHP version support. It is a reasonable long-term choice for modern PHP 8.1+ projects that want a browser-style DOM API without Laravel-specific dependencies. For highly specialized scraping or XML needs, also evaluate more mature alternatives such as symfony/dom-crawler.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo