A fast, simple and reliable HTML document parser for PHP.

Installs: 649 544

Dependents: 17

Suggesters: 1

Security: 0

Stars: 175

Watchers: 14

Forks: 52


2.0-RC2 2019-11-09 15:42 UTC

This package is auto-updated.

Last update: 2024-05-29 10:11:57 UTC



simplehtmldom is a fast and reliable HTML DOM parser for PHP.

Key features

  • Purely PHP-based DOM parser (no XML extensions required).
  • Works with well-formed and broken HTML documents.
  • Loads webpages, local files and document strings.
  • Supports CSS selectors.


simplehtmldom requires PHP 5.6 or higher with ext-iconv enabled. Following extensions enable additional features of the parser:

  • ext-mbstring (recommended)
    Enables better detection for multi-byte documents.
  • ext-curl
    Enables cURL support for the class HtmlWeb.
  • ext-openssl (recommended when using cURL)
    Enables SSL support for cURL.



Download the latest release from SourceForge and extract the files in the vendor folder of your project.


composer require simplehtmldom/simplehtmldom


git clone git:// simplehtmldom

Note: The GitHub repository serves as a mirror for the SourceForge project. We currently accept pull requests and issues only via SourceForge.


This example illustrates how to return the page title:

include_once 'HtmlWeb.php';
use simplehtmldom\HtmlWeb;

$client = new HtmlWeb();
$html = $client->load('');

// Returns the page title
echo $html->find('title', 0)->plaintext . PHP_EOL;
Using composer
include_once 'vendor/autoload.php';
use simplehtmldom\HtmlWeb;

$client = new HtmlWeb();
$html = $client->load('');

// Returns the page title
echo $html->find('title', 0)->plaintext . PHP_EOL;

Find more examples in the installation folder under examples.


The documentation for this library is hosted at

Getting involved

There are various ways for you to get involved with simplehtmldom. Here are a few:

  • Share this project with your friends (Twitter, Facebook, name it...).
  • Report bugs (SourceForge).
  • Request features (SourceForge).
  • Discuss existing bugs, features and ideas.

If you want to contribute code to the project, please open a feature request and include your patch with the message.



The source code for simplehtmldom is licensed under the MIT license. For further information read the LICENSE file in the root directory (should be located next to this README file).

Technical notes

simplehtmldom is a purely PHP-based DOM parser that doesn't rely on external libraries like libxml, SimpleXML or PHP DOM. Doing so provides better control over the parsing algorithm and a much simpler API that even novice users can learn to use in a short amount of time.