PHP Simple HTML DOM is a HTML DOM parser written in PHP5+ . This class let you manipulate HTML in a very easy way, find tags on an HTML page with selectors just like jQuery.
- PHP Simple HTML DOM 1.5.


API Reference

Helper functions:
DOM methods & properties:
Element methods & properties:
DOM traversing:
You can also call methods with W3C STANDARD camel naming convertions.
1. Find all links, and their text, in a page from a URL:

// Create DOM from URL or file
$html = file_get_html('http://coursesweb/');

// Find all links, and their text
foreach($html->find('a') as $elm) {
  echo $elm->href .' ('.$elm->plaintext. ')<br/>';
html/ (HTML)
css/ (CSS)
javascript/ (JavaScript)
php-mysql/ (PHP-MySQL)
ajax/ (AJAX)
flash/ (Flash - ActionScript)
ex/contact (Contact)

2. Find all images with a specified class attribute, in a HTML content defined in PHP script:

// Create a DOM object from a string
$html = str_get_html('<div><img src="image1.jpg" alt="Img1" class="cls" /><br/>
 <img src="image2.png" alt="Img2" /></div><p>Some text</p>
 <img src="image3.gif" alt="Img3" class="cls" />');

// Find all images with class="cls"
foreach($html->find('img.cls') as $elm) {
  echo $elm->src. '<br/>';

3. Get the id of the first LI in a UL list, change its text, and output the new content

// Create a DOM object from a string
$html = str_get_html('<nav><ul>
 <li id="idli1" class="cls">List 1</li><li>List 2</li><li class="cls">List 3</li>

// Get the id of the first LI in UL, and change its content
$idli = $html->find('li', 0)->id;
if($idli) echo 'First LI id: '. $idli;
$html->find('ul li', 0)->innertext = '<b>PHP Simple HTML DOM</b>';
echo $html;
Result this HTML code:
First LI id: idli1
<li id="idli1" class="cls"><b>PHP Simple HTML DOM</b></li>
<li>List 2</li>
<li class="cls">List 3</li>

4. Using a callback function, that is applied to each element in DOM (changes the class attribute).

// Create a DOM object from a HTML file
$html = file_get_html('test.htm');

// Write a function with parameter "$elm"
function changeCls($elm) {
  // if LI with class="cls", change the class
  if ($elm->tag=='li' && $elm->class=='cls') {
    $elm->setAttribute('class', 'class_2');
echo $html;

- In the archive with "PHP Simple HTML DOM" class you'll find more examples, and documentation (in directory accessed from server).
PHP Simple HTML DOM Web Site.

Daily Test with Code Example

Which HTML5 tag can be used to embed an external application (SWF, PDF) in web page?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Which CSS pseudo-element adds a special style to the first line of a text?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
Click on the window object property which gets or sets the URL of current page.
window.location window.self window.status
var url = window.location;
Indicate the PHP function used to get the contents of a file or page and store it into a string.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("");
echo $homepage;
PHP Simple HTML DOM Parser

Last accessed pages

  1. Read Excel file data in PHP - PhpExcelReader (77166)
  2. Using openssl_encrypt and openssl_decrypt in PHP (350)
  3. JavaScript Code Snippets (1576)
  4. Get Lower, Higher, and Closest Number (2965)
  5. Check and Validate input field when loses focus, with PHP via Ajax (5139)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (318)
  2. Register and show online users and visitors (211)
  3. Node.js Move and Copy file (173)
  4. Read Excel file data in PHP - PhpExcelReader (156)
  5. PHP-MySQL free course, online tutorials PHP MySQL code (154)