dev-master
9999999-devFast (HTML DOM) parser written in PHP.
GPL
The Requires
- php >=5.2.0
by Kirill Popov
Wallogit.com
2017 © Pedro Peláez
Fast (HTML DOM) parser written in PHP.
Fast (HTML DOM) parser written in PHP., (*1)
This is a fork of the project https://code.google.com/p/ganon/, (*2)
Via composer (https://packagist.org/packages/wangoviridans/ganon), (*3)
{
"require": {
"wangoviridans/ganon": "dev-master"
}
}
Or just clone and put somewhere inside your project folder., (*4)
$ cd myapp/vendor $ git clone git://github.com/wangoviridans/ganon.git
<?php
require 'vendor/autoload.php';
use Wangoviridans\Ganon;
// Parse the google code website into a DOM
$html = file_get_dom('http://code.google.com/');
After including Ganon and loading the DOM, it is time to get started., (*5)
Accessing elements is made easy through the CSS3-like selectors and the object model., (*6)
// Find all the paragraph tags with a class attribute and print the
// value of the class attribute
foreach($html('p[class]') as $element) {
echo $element->class, "<br>\n";
}
// Find the first div with ID "gc-header" and print the plain text of
// the parent element (plain text means no HTML tags, just the text)
echo $html('div#gc-header', 0)->parent->getPlainText();
// Find out how many tags there are which are "ns:tag" or "div", but not
// "a" and do not have a class attribute
echo count($html('(ns|tag, div + !a)[!class]');
Learn more about accessing elements., (*7)
Elements can be easily modified after you've found them., (*8)
// Find all paragraph tags which are nested inside a div tag, change
// their ID attribute and print the new HTML code
foreach($html('div p') as $index => $element) {
$element->id = "id$index";
}
echo $html;
// Center all the links inside a document which start with "http://"
// and print out the new HTML
foreach($html('a[href ^= "http://"]') as $element) {
$element->wrap('center');
}
echo $html;
// Find all odd indexed "td" elements and change the HTML to make them links
foreach($html('table td:odd') as $element) {
$element->setInnerText('<a href="#">'.$element->getPlainText().'</a>');
}
echo $html;
Learn more about modifying elements., (*9)
Ganon can also help you beautify your code and format it properly., (*10)
// Beautify the old HTML code and print out the new, formatted code
dom_format($html, array('attributes_case' => CASE_LOWER));
echo $html;
Fast (HTML DOM) parser written in PHP.
GPL