ruby's nokogiri idea on php
Pull request Compare This branch is even with b1rdex:master.
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"]=
  ?>