0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-09-20 03:05:18 +00:00
htmlpurifier/library/HTMLPurifier
Edward Z. Yang 700d5bcbfc Implement %AutoFormat.RemoveEmpty, end to start ref, and injector rewind.
Injector rewind: Injectors can now use the method rewind() in order to move
the input index backwards, so that they can reprocess tokens (other injectors
are not affected by a rewind). This functionality was necessary to implement
nested node removals in %AutoFormat.RemoveEmpty.

End to start ref: To facilitate rewinding, HTMLPurifier_Token_End now
maintains a reference called $start to the starting token for their node.

%AutoFormat.RemoveEmpty removes empty nodes. Lots of people have requested
it, so here is a partially effective implementation. Because it is implemented
as an Injector, it's not possible for it to handle newly introduced empty
nodes by later validators, specifically auto-closing and child validation.
The Injector is only meant to be used on HTML-ish languages.

Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
2008-06-27 16:09:14 -04:00
..
AttrDef [3.1.1] General munge improvements 2008-06-18 03:29:27 +00:00
AttrTransform var -> public 2008-06-19 21:24:50 +00:00
ChildDef [3.1.1] Land vs's HTMLPurifier_Generator patch, and a number of other bugfixes for that change 2008-05-26 04:05:48 +00:00
ConfigSchema Implement %AutoFormat.RemoveEmpty, end to start ref, and injector rewind. 2008-06-27 16:09:14 -04:00
DefinitionCache Rename dummy file to proper location. 2008-06-25 22:43:55 -04:00
EntityLookup [1.2.0] 2006-09-30 20:18:08 +00:00
Filter [3.1.0] Deprecate addFilter; set up Filter namespace 2008-04-22 06:40:04 +00:00
HTMLModule Proper support for name attribute in <a> and <img> 2008-06-27 15:44:27 -04:00
Injector Implement %AutoFormat.RemoveEmpty, end to start ref, and injector rewind. 2008-06-27 16:09:14 -04:00
Language [3.1.2] Implement comments when %HTML.Trusted is on. 2008-06-25 23:12:19 -04:00
Lexer Handle CRLF discrepancies 2008-06-24 21:10:51 -04:00
Printer [3.1.1] Land vs's HTMLPurifier_Generator patch, and a number of other bugfixes for that change 2008-05-26 04:05:48 +00:00
Strategy Implement %AutoFormat.RemoveEmpty, end to start ref, and injector rewind. 2008-06-27 16:09:14 -04:00
TagTransform [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
Token Implement %AutoFormat.RemoveEmpty, end to start ref, and injector rewind. 2008-06-27 16:09:14 -04:00
URIFilter [3.1.1] General munge improvements 2008-06-18 03:29:27 +00:00
URIScheme [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
VarParser [3.1.1] Memory optimizations for ConfigSchema. Changes include: 2008-05-23 16:43:24 +00:00
AttrCollections.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
AttrDef.php [3.1.1] Fix Shift_JIS encoding wonkiness with yen symbols and whatnot 2008-05-25 05:40:20 +00:00
AttrTransform.php [3.0.0] Convert all $context calls away from references 2008-01-05 00:10:43 +00:00
AttrTypes.php [3.1.0] Move $safe from ElementDef to HTMLModule 2008-04-21 23:28:52 +00:00
AttrValidator.php [3.1.1] Lazy token updating for HTMLPurifier/AttrValidator.php 2008-05-21 02:30:27 +00:00
Bootstrap.php [3.1.0] Get testing working again for all versions 2008-05-16 01:49:33 +00:00
ChildDef.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
Config.php Release 3.1.1 2008-06-19 21:43:57 +00:00
ConfigSchema.php [3.1.1] More ConfigSchema optimizations: degenerate form can accommodate type and allow_null 2008-05-23 17:10:26 +00:00
ContentSets.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
Context.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
CSSDefinition.php [3.1.1] Round up imagecrash support with HTML.MaxImgLength 2008-05-23 02:09:43 +00:00
Definition.php Convert to PHP 5 only codebase, adding visibility modifiers to all members and methods in the main library area (function only for test methods) 2007-11-25 02:24:39 +00:00
DefinitionCache.php [3.1.0] Fix bug with 3.1.0-dev version number (the dash caused problems, so we switched to commas) 2008-04-26 19:28:14 +00:00
DefinitionCacheFactory.php [3.1.0] Fix bug with 3.1.0-dev version number (the dash caused problems, so we switched to commas) 2008-04-26 19:28:14 +00:00
Doctype.php [3.1.0] Move $safe from ElementDef to HTMLModule 2008-04-21 23:28:52 +00:00
DoctypeRegistry.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
ElementDef.php [3.1.0] Move $safe from ElementDef to HTMLModule 2008-04-21 23:28:52 +00:00
Encoder.php [3.1.1] Improved adherence to Unicode by checking for non-character codepoints. Thanks Geoffrey Sneddon for reporting. 2008-05-26 21:27:52 +00:00
EntityLookup.php Convert to PHP 5 only codebase, adding visibility modifiers to all members and methods in the main library area (function only for test methods) 2007-11-25 02:24:39 +00:00
EntityParser.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
ErrorCollector.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
Exception.php [3.1.0] Implement ConfigSchema interchange 2008-03-01 17:06:23 +00:00
Filter.php [3.0.0] Convert all $context calls away from references 2008-01-05 00:10:43 +00:00
Generator.php [3.1.2] Add %Output.SortAttr to deal with FCKeditor bug 2008-06-24 22:36:27 -04:00
HTMLDefinition.php [3.1.1] Allow injectors to be specified by modules. 2008-06-09 01:23:05 +00:00
HTMLModule.php [3.1.1] Allow injectors to be specified by modules. 2008-06-09 01:23:05 +00:00
HTMLModuleManager.php Proper support for name attribute in <a> and <img> 2008-06-27 15:44:27 -04:00
IDAccumulator.php Transition is complete! Cleanup and class rearrangement now necessary. 2008-02-10 20:34:39 +00:00
Injector.php Implement %AutoFormat.RemoveEmpty, end to start ref, and injector rewind. 2008-06-27 16:09:14 -04:00
Language.php [3.1.0] Fixed bug with fallback languages in LanguageFactory 2008-05-15 23:04:46 +00:00
LanguageFactory.php Allow for users to load Language class files themselves. Messages are still HTML Purifier dependent; we need to figure out a way around that. 2008-05-15 23:22:34 +00:00
Length.php [3.1.1] Implement more robust imagecrash protection for CSS width/height. 2008-05-21 01:56:48 +00:00
Lexer.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
PercentEncoder.php [3.1.0] Revamp URI handling of percent encoding and validation. 2008-05-14 02:19:00 +00:00
Printer.php [3.1.1] Land vs's HTMLPurifier_Generator patch, and a number of other bugfixes for that change 2008-05-26 04:05:48 +00:00
Strategy.php Transition is complete! Cleanup and class rearrangement now necessary. 2008-02-10 20:34:39 +00:00
StringHash.php [3.1.0] Make StringHash system-agnostic. 2008-03-22 19:30:37 +00:00
StringHashParser.php [3.1.0] Add multi-parse capability for StringHash 2008-03-23 00:02:37 +00:00
TagTransform.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
Token.php [3.1.1] Implement SafeObject. 2008-06-10 00:13:44 +00:00
TokenFactory.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
UnitConverter.php Add support for pixel as a pseudo-English unit. 2008-05-21 00:42:55 +00:00
URI.php [3.1.1] Implement percent encoding for URI query and fragment 2008-05-21 02:58:41 +00:00
URIDefinition.php [3.1.1] General munge improvements 2008-06-18 03:29:27 +00:00
URIFilter.php [3.1.1] Implement %URI.SecureMunge and %URI.SecureMungeSecretKey, thanks Chris! 2008-05-26 16:26:47 +00:00
URIParser.php [3.1.0] Revamp URI handling of percent encoding and validation. 2008-05-14 02:19:00 +00:00
URIScheme.php [3.0.0] Convert all $context calls away from references 2008-01-05 00:10:43 +00:00
URISchemeRegistry.php Transition is complete! Cleanup and class rearrangement now necessary. 2008-02-10 20:34:39 +00:00
VarParser.php [3.1.1] More ConfigSchema optimizations: degenerate form can accommodate type and allow_null 2008-05-23 17:10:26 +00:00
VarParserException.php [3.1.0] Split out VarParser from ConfigSchema 2008-03-04 15:06:00 +00:00