Home » XML » XML_HTMLSax
A SAX based parser for HTML and other badly formed XML documents
This package is unmaintained.
Download latest release 2.1.2 (archived versions might be outdated)
License: PHP
Description
XML_HTMLSax is a SAX based XML parser for badly formed XML documents, such as HTML.
The original code base was developed by Alexander Zhukov and published at http://sourceforge.net/projects/phpshelve/. Alexander kindly gave permission to modify the code and license for inclusion in PEAR.
PEAR::XML_HTMLSax provides an API very similar to the native PHP Expat extension, allowing handlers using one to be easily adapted to the other. The key difference is HTMLSax will not break on badly formed XML, allowing it to be used for parsing HTML documents. Otherwise HTMLSax supports all the handlers available from Expat except namespace and external entity handlers. Provides methods for handling XML escapes as well as JSP/ASP opening and close tags.
Version 2 has had it's internals completely overhauled to use a Lexer, delivering performance *approaching* that of the native XML extension, as well as a radically improved, modular design that makes adding further functionality easy.
The public API has remained the same as older versions, except for the set_option() method, the available options having been renamed. Additional options are now also available, which allow HTMLSax to behave almost exactly like the native Expat extension. For example if the contents of XML elements contain linefeeds, tabs and XML entities, HTMLSax can be instructed to trigger additional data handler calls.
A big thanks to Jeff Moore (lead developer of WACT: http://wact.sourceforge.net) who's largely responsible for new design, as well input from other members at Sitepoint's Advanced PHP forums: http://www.sitepointforums.com/showthread.php?threadid=121246.
Thanks also to Marcus Baker (lead developer of SimpleTest: http://www.lastcraft.com/simple_test.php) for sorting out the unit tests.
Maintainers
No maintainers.
Dependencies
No dependencies.
Releases
- 2.1.2 (stable, 2003-12-04)
- 2.1.1 (stable, 2003-10-08)
- 2.1.0 (stable, 2003-09-10)
- 2.0.2 (alpha, 2003-08-18)
- 2.0.1 (alpha, 2003-08-11)
- 1.1 (stable, 2003-06-26)
- 1.0 (stable, 2003-06-08)
- 0.9.0rc2 (beta, 2003-05-18)
Bugs
| ID | Status | Type | Version | Date | Summary |
|---|---|---|---|---|---|
| #1261 | Bogus | Bug | 2004-04-22 | Veriosn 2.1.2 result in memory leak | |
| #1262 | Bogus | Bug | 2004-04-22 | Veriosn 2.1.2 result in memory leak | |
| #1557 | Bogus | Bug | 2004-06-04 | Unbale to parse badly formatted select statement | |
| #3528 | Open | Req | 2005-02-19 | incorrect logic | |
| #6706 | No Feedback | Bug | 2.1.2 | 2006-02-06 | code fails on blockquote tag, thinks its bold tag |
| #6742 | Open | Bug | 2.1.2 | 2006-02-10 | Error handling <![if tags |
| #17397 | Open | Bug | 2.1.2 | 2010-05-13 | Parsing breaks with inline JavaScript |