PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

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

Bugs

IDStatusTypeVersionDateSummary
#1261BogusBug2004-04-22Veriosn 2.1.2 result in memory leak
#1262BogusBug2004-04-22Veriosn 2.1.2 result in memory leak
#1557BogusBug2004-06-04Unbale to parse badly formatted select statement
#3528OpenReq2005-02-19incorrect logic
#6706No FeedbackBug2.1.22006-02-06code fails on blockquote tag, thinks its bold tag
#6742OpenBug2.1.22006-02-10Error handling <![if tags
#17397OpenBug2.1.22010-05-13Parsing breaks with inline JavaScript