martyrer/simple-html-dom-bundle
A Symfony bundle that integrates PHP Simple HTML DOM into your application, giving you a convenient service for parsing and manipulating HTML using jQuery-like selectors. Load pages, traverse the DOM, and extract or edit elements with straightforward, readable syntax.
symfony/dom-crawler + symfony/css-selector, a maintained fork like voku/simple_html_dom, or PHP 8.4's native Dom\HTMLDocument). Treat the bundle as a footnote to that choice, not the choice itself.*Bundle naming and DI structure mark this as a Symfony bundle. On a Laravel codebase it is inapplicable as shipped — no service provider, no facade, no auto-discovery. The decision reduces to requiring the underlying library and binding it ourselves.Consider it when:
simple_html_dom available through the container with no glue code of your own.Look elsewhere when:
symfony/dom-crawler + symfony/css-selector, or a maintained fork if you specifically need the lenient parser.For executives: This is a convenience wrapper, not a platform component. It saves a handful of lines of container registration around an older HTML-parsing library, and it carries essentially no adoption signal — no stars, no dependents, one maintainer. Recommendation: do not add it to the stack. If a roadmap item needs HTML parsing, fund a short engineering slice to use maintained Symfony components instead, so we do not quietly inherit an unsupported dependency we will have to replace later — likely during a PHP or framework upgrade, at the worst possible time.
For engineering: It buys roughly twenty lines of DI registration in exchange for a dependency owner we do not control, wrapped around a legacy parser. Preferred path: symfony/dom-crawler + symfony/css-selector for spec-compliant work; keep any parser behind an application-owned HtmlExtractor interface so call sites stay swappable. If we genuinely need simple_html_dom's tolerance for broken markup, use a maintained fork and bind it ourselves — about thirty minutes of work, full control, no third-party wrapper in the graph. Also flag the metadata mismatch: this is a Symfony bundle, so it is off-limits for the Laravel services regardless of how the catalogue lists it.
How can I help you explore Laravel packages today?