mushroomcloud/simple-html-dom-bundle
A Symfony bundle that integrates the Simple HTML DOM library, offering service configuration for parsing, traversing, and manipulating HTML documents in PHP. Handy for scraping, content extraction, and DOM-style edits in Symfony apps.
simple_html_dom — a forgiving, jQuery-style parser — behind a Symfony service, so PHP teams avoid the brittle DOMDocument/libxml error handling that usually eats a sprint.MushroomCloudSimpleHtmlDomBundle), not a Laravel package. It's usable in Laravel via the service container, but auto-discovery, config publishing, and facades are Symfony-shaped. That's a real decision input if the team's default assumption was "drop-in Laravel package."martyrer/simple-html-dom-bundle, 2.0 is a hard break with no feature payoff, so it lands on a maintenance slot, not a roadmap slot.Consider it when:
Look elsewhere when:
symfony/dom-crawler + masterminds/html5 is better maintained, framework-native in Symfony, and gives you CSS selectors without an opaque wrapper.martyrer/... package and have no capacity this cycle: the upgrade is pure breakage — namespace, bundle class, Composer name, and the config key martyrer_simple_htm_dom → mushroom_cloud_simple_html_dom all change. There is no reason to schedule it urgently; there is also no reason to expect the old name to receive fixes.For executives: This is a small integration library that lets our PHP engineers parse third-party web pages reliably and cheaply, instead of hand-rolling HTML handling in every project. It is not a scraping platform — it does not solve scheduling, scale, or bot-blocking, so it's a tactical build-vs-buy input, not a strategic bet.
For engineering: Version 2.0 is a maintainer rename only — martyrer/simple-html-dom-bundle → mushroomcloud/simple-html-dom-bundle. Composer name, namespace (MushroomCloud\SimpleHtmlDomBundle), bundle class (MushroomCloudSimpleHtmlDomBundle), and the config key (mushroom_cloud_simple_html_dom) all move. Nothing new is gained, and any existing usage breaks. Recommendation: keep parsing behind a thin in-house HtmlParser interface so this dependency stays swappable; migrate only when we're already touching that service, and pin the version in the meantime.
For planning: No roadmap item is unblocked or blocked by 2.0. Treat it as dependency hygiene on an existing service, not a feature delivery. If we adopt fresh, budget an afternoon for the Symfony-bundle-not-Laravel-package nuance (manual registration, non-standard config key) rather than assuming Laravel auto-discovery.
How can I help you explore Laravel packages today?