2017 © Pedro Peláez
 

library nokogiri

HTML Parser

image

olamedia/nokogiri

HTML Parser

  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 49 Forks
  • 8 Open issues
  • 2 Versions
  • 2 % Grown

The README.md

PHP Composer, (*1)

Attention: New version can break compatibility, in that case use previous version under the v1.0 branch or tag which supports even php 5.4+, (*2)

\nokogiri class is left for compatibility, (*3)

In English На русском, (*4)

HTML parser

This library is a fast HTML parser, which can work with invalid code (errors are ignored).
Under the hood is used LibXML.
As the input you can use HTML string in UTF-8 encoding or DOMDocument.
For the querying elements CSS selectors are used, which are transformed to XPath expressions internally.
, (*5)

Usage

Loading HTML

HTML errors are ignored * From HTML string $saw = new \nokogiri($html); $saw = \nokogiri::fromHtml($html); * From DOM elements $saw = new \nokogiri($dom); $saw = \nokogiri::fromDom($dom);, (*6)

get($cssSelector)

$cssSelector elements have the following format: tagName[attribute=value]#elementId.className:pseudoSelector(expression), (*7)

$saw->get('div > a[rel=bookmark]')->toArray();

toArray()

Returns underlying DOM structure as an array.
Values are attributes, text content under #text key and child elements under numeric keys, (*8)

toXml()

Returns HTML string, (*9)

getDom() toDom()

Returns DOMDocument. Given true as the first argument - can also return DOMNodeList or DOMElement, (*10)

Iteration over found elements

foreach ($saw->get('#sidebar a.topic') as $link){
    var_dump($link['#text']);
}

Implemented selectors

  • tag
  • .class
  • #id
  • [attr]
  • [attr=value]
  • :root
  • :empty
  • :first-child
  • :last-child
  • :first-of-type
  • :last-of-type
  • :only-of-type
  • :nth-child(a)
  • :nth-child(an+b)
  • :nth-child(even/odd)

Requirements

  • DOM
  • libxml >=2.9.0
  • PHP >= 7.3

License

MIT, (*11)

What's new

2.0.0

  • Minimal PHP version 7.3
  • Minimal LibXML version 2.9.0
  • Complete refactoring
  • Partially changed behaviour, can break compatibility
  • HTML loading behaviour changed
  • Test coverage
  • Fixed work of nth-child and other selectors
  • Incorrect selectors now throw exceptions
  • New selectors added

1.0.0

  • First version, 2011
  • Minimal PHP version 5.4

The Versions

19/05 2015

dev-master

9999999-dev http://github.com/olamedia/nokogiri

HTML Parser

  Sources   Download

MIT

The Requires

  • php >=5.0.0

 

parser html parse

19/05 2015

1.0

1.0.0.0 http://github.com/olamedia/nokogiri

HTML Parser

  Sources   Download

MIT

The Requires

  • php >=5.0.0

 

parser html parse