Php-mysql Course

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.

Examples

API Reference

Helper functions:
DOM methods & properties:
Element methods & properties:
DOM traversing:
You can also call methods with W3C STANDARD camel naming convertions.
Examples:
1. Find all links, and their text, in a page from a URL:
<?php
include('simplehtmldom/simple_html_dom.php');

// 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/>';
}
?>
Result:
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:
<?php
include('simplehtmldom/simple_html_dom.php');

// 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/>';
}
?>
Result:
image1.jpg
image3.gif

3. Get the id of the first LI in a UL list, change its text, and output the new content
<?php
include('simplehtmldom/simple_html_dom.php');

// 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>
 </ul></nav>');

// 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
<nav><ul>
<li id="idli1" class="cls"><b>PHP Simple HTML DOM</b></li>
<li>List 2</li>
<li class="cls">List 3</li>
</ul></nav>

4. Using a callback function, that is applied to each element in DOM (changes the class attribute).
<?php
include('simplehtmldom/simple_html_dom.php');

// 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');
  }
} 
$html->set_callback('changeCls');
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

HTML
CSS
JavaScript
PHP-MySQL
Which tag renders as emphasized text, displaying the text oblique?
<strong> <pre> <em>
<p>Web development courses: <em>CoursesWeb.net</em></p>
Which CSS property defines the space between the element border and its content?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Click on the method which returns the first element that matches a specified group of selectors.
getElementsByName() querySelector() querySelectorAll()
// gets first Div with class="cls", and shows its content
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicate the PHP variable that contains data from a form sent with method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
PHP Simple HTML DOM Parser

Last accessed pages

  1. CSS cursor property - Custom Cursors (6373)
  2. Keep the first Nr IMG tags, Strip all the others (314)
  3. Select the Content of HTML Element (4522)
  4. Adding text with ActionScript 3 (5638)
  5. Zodiac Signs PHP code (7271)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (458)
  2. CSS cursor property - Custom Cursors (69)
  3. Read Excel file data in PHP - PhpExcelReader (46)
  4. PHP-MySQL free course, online tutorials PHP MySQL code (44)
  5. PHP Unzipper - Extract Zip, Rar Archives (41)