ruby's nokogiri idea on php
PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README
nokogiri.php

README

This is modified copy of http://code.google.com/p/kanon-framework/source/browse/trunk/src/parse/nokogiri.php by olamedia.
Credits saved.

Nokogiri is used to parse html using php.

Usage:
  <?php
  $html = gzdecode(file_get_contents('http://habrahabr.ru/'));
  
  $saw = new nokogiri($html);
  var_dump($saw->get('a.habracut')->toArray());
  // На выходе: Array(6) { [0]=> array(3) { ["class"]=> string(8) "habracut" ["href"]=> string(56) "http://habrahabr.ru/blogs/google_chrome/110099/#habracut" ["#text"]=> string(29) "Читать дальше >" } [1]=> ....
  var_dump($saw->get('ul.panel-nav-top li.current')->toArray());
  // На выходе: array(2) { ["class"]=> string(7) "current" ["a"]=> array(3) { ["href"]=> string(20) "http://habrahabr.ru/" ["class"]=> string(8) "disabled" ["#text"]=> string(10) "Посты" } }
  var_dump($saw->get('#sidebar dl.air-comment a.topic')->toArray());
  // На выходе: array(50) { [0]=> array(3) { ["class"]=> string(5) "topic" ["href"]=> string(36) "http://habrahabr.ru/blogs/os/110045/" ["#text"]=> string(63) "ФБР внедряло backdoor'ы в IPSec код OpenBSD (?)" } [1]=> array(3) { ["cl
  var_dump($saw->get('a[rel=bookmark]')->toArray());
  // На выходе: array(10) { [0]=> array(4) { ["rel"]=> string(8) "bookmark" ["href"]=> string(47) "http://habrahabr.ru/blogs/google_chrome/110099/" ["class"]=> string(5) "topic" ["#text"]=> string(100) "Google объявил Chrome готовым к использованию в бизнес-среде" } [1]=> array(4) { ["rel"]=
  ?>