Changes for version 1.03 - 2010-06-14

  • fix incorrect tag closing when "/" appears as attribute key
  • handle deep span nests with the same attrs, not just no attrs
  • we might not find the tag if we hit one that stops further breaking out, that's not an error to report
  • track noscript mismatched tags
  • more nested table tags fixes
  • unicode fixes on attribute/style entity expansions
  • more deep nested span/div hacks
  • avoid undef error
  • optimisation for nested inline tags within block tags
  • massive speedup on deeply nested tags
  • defang tweaks on large sets of style rules
  • use /\G..../gc matching on style rather than s///
  • close/re-open inline tags across block tags
  • only convert \u sequences in stripped values
  • track mismatched <p> tags, and defang -- in a tag as well
  • need to strip -- in defanged tags because --'s in comments are bad


Cleans HTML as well as CSS of scripting and other executable contents, and neutralises XSS attacks.