PHP Classes

File: example/example_advanced_selector.php

Recommend this page to a friend!
  Classes of Lars Moelleken   Simple HTML DOM   example/example_advanced_selector.php   Download  
File: example/example_advanced_selector.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Simple HTML DOM
Manipulate HTML elements using DOMDocument
Author: By
Last change: Update of example/example_advanced_selector.php
Date: 2 years ago
Size: 1,519 bytes
 

Contents

Class file image Download
<?php

use voku\helper\HtmlDomParser;

require_once
'../vendor/autoload.php';

// -----------------------------------------------------------------------------
// descendant selector
$str = <<<HTML
<div>
    <div>
        <div class="foo bar">ok</div>
    </div>
</div>
HTML;

$html = HtmlDomParser::str_get_html($str);
echo
$html->find('div div div', 0)->innertext . '<br>'; // result: "ok"

// -----------------------------------------------------------------------------
// nested selector
$str = <<<HTML
<ul id="ul1">
    <li>item:<span>1</span></li>
    <li>item:<span>2</span></li>
</ul>
<ul id="ul2">
    <li>item:<span>3</span></li>
    <li>item:<span>4</span></li>
</ul>
HTML;

$html = HtmlDomParser::str_get_html($str);
foreach (
$html->find('ul') as $ul) {
    foreach (
$ul->find('li') as $li) {
        echo
$li->innertext . '<br>';
    }
}

// -----------------------------------------------------------------------------
// parsing checkbox
$str = <<<HTML
<form name="form1" method="post" action="">
    <input type="checkbox" name="checkbox1" value="checkbox1" checked>item1<br>
    <input type="checkbox" name="checkbox2" value="checkbox2">item2<br>
    <input type="checkbox" name="checkbox3" value="checkbox3" checked>item3<br>
</form>
HTML;

$html = HtmlDomParser::str_get_html($str);
foreach (
$html->find('input[type=checkbox]') as $checkbox) {
    if (
$checkbox->checked) {
        echo
$checkbox->name . ' is checked<br>';
    } else {
        echo
$checkbox->name . ' is not checked<br>';
    }
}