GitPedia
Masterminds

Masterminds/html5-php

An HTML5 parser and serializer for PHP.

30 Releases
Latest: today
2.10.1Latest
goetasgoetas·today·June 23, 2026
GitHub

📋 What's Changed

  • Fix fwrite() null deprecation in OutputRules::wr() on PHP 8.1+ by @eyupcanakman in https://github.com/Masterminds/html5-php/pull/263
  • Passing empty to ord() is deprecated in PHP 8.5 by @claudiu-cristea in https://github.com/Masterminds/html5-php/pull/265
  • Fix dynamic property deprecation in TraverserTest & TokenizerTest by @ohader in https://github.com/Masterminds/html5-php/pull/266

New Contributors

  • @eyupcanakman made their first contribution in https://github.com/Masterminds/html5-php/pull/263
  • @claudiu-cristea made their first contribution in https://github.com/Masterminds/html5-php/pull/265
  • Full Changelog: https://github.com/Masterminds/html5-php/compare/2.10.0...2.10.1
2.10.0
goetasgoetas·11mo ago·July 25, 2025
GitHub

📋 What's Changed

  • Just a quick typo fix. by @citricguy in https://github.com/Masterminds/html5-php/pull/248
  • Fix CS by @W0rma in https://github.com/Masterminds/html5-php/pull/255
  • Add PHP 8.4 to CI config by @W0rma in https://github.com/Masterminds/html5-php/pull/256
  • Ignore duplicate attributes by @Link1515 in https://github.com/Masterminds/html5-php/pull/258
  • Address php-cs-fixer remarks by @ohader in https://github.com/Masterminds/html5-php/pull/260
  • Ensure empty inline svg and math tags are serialized as void tags by @ohader in https://github.com/Masterminds/html5-php/pull/259

New Contributors

  • @citricguy made their first contribution in https://github.com/Masterminds/html5-php/pull/248
  • @W0rma made their first contribution in https://github.com/Masterminds/html5-php/pull/255
  • @Link1515 made their first contribution in https://github.com/Masterminds/html5-php/pull/258
  • Full Changelog: https://github.com/Masterminds/html5-php/compare/2.9.0...2.10.0
2.9.0
goetasgoetas·2y ago·April 3, 2024
GitHub

📋 What's Changed

  • add support for optional end tags for table elements by @goetas in https://github.com/Masterminds/html5-php/pull/240
  • Fix masterminds-html5 lib php8-1 notice return type use phpstan by @igumnovaleksey in https://github.com/Masterminds/html5-php/pull/231
  • Add PHP 8.3 to CI config by @TimWolla in https://github.com/Masterminds/html5-php/pull/237
  • docs: replace travis status badge, with github status badge by @Chris53897 in https://github.com/Masterminds/html5-php/pull/234
  • chore: allow phpunit 9 by @Chris53897 in https://github.com/Masterminds/html5-php/pull/235

New Contributors

  • @igumnovaleksey made their first contribution in https://github.com/Masterminds/html5-php/pull/231
  • Full Changelog: https://github.com/Masterminds/html5-php/compare/2.8.1...2.9.0
2.8.1
goetasgoetas·2y ago·July 31, 2023
GitHub

📋 What's Changed

  • Mark `.github/` as `export-ignore` by @TimWolla in https://github.com/Masterminds/html5-php/pull/233

New Contributors

  • @TimWolla made their first contribution in https://github.com/Masterminds/html5-php/pull/233
  • Full Changelog: https://github.com/Masterminds/html5-php/compare/2.8.0...2.8.1
2.8.0
goetasgoetas·3y ago·April 26, 2023
GitHub

📋 What's Changed

  • Drop ext-libxml requirement by @alecpl in https://github.com/Masterminds/html5-php/pull/205
  • doc(spelling): fix reentrance spelling in readme by @kaznovac in https://github.com/Masterminds/html5-php/pull/213
  • GH actions by @goetas in https://github.com/Masterminds/html5-php/pull/223
  • Remove deprecations by @goetas in https://github.com/Masterminds/html5-php/pull/224
  • Get rid of ctype by @alecpl in https://github.com/Masterminds/html5-php/pull/206
  • Mark `<video>` tag as inline element by @HypeMC in https://github.com/Masterminds/html5-php/pull/232
  • $tok might be false in Tokenizer.php by @sakarikl in https://github.com/Masterminds/html5-php/pull/221

New Contributors

  • @kaznovac made their first contribution in https://github.com/Masterminds/html5-php/pull/213
  • @HypeMC made their first contribution in https://github.com/Masterminds/html5-php/pull/232
  • @sakarikl made their first contribution in https://github.com/Masterminds/html5-php/pull/221
  • Full Changelog: https://github.com/Masterminds/html5-php/compare/2.7.6...2.8.0
2.7.6
goetasgoetas·3y ago·August 18, 2022
GitHub

📋 Changes

  • #218: Address comment handling issues
2.7.5
goetasgoetas·4y ago·July 1, 2021
GitHub

📋 Changes

  • #204: Travis: Enable tests on PHP 8.0
  • #207: Fix PHP 8.1 deprecations
2.7.4
goetasgoetas·5y ago·October 1, 2020
GitHub

📋 Changes

  • #191: Fix travisci build
  • #195: Add .gitattributes file with export-ignore rules
  • #194: Fix query parameter parsed as character entity
2.7.3
goetasgoetas·5y ago·July 5, 2020
GitHub

📋 Changes

  • #190: mitigate cyclic reference between output rules and the traverser objects
2.7.2
goetasgoetas·5y ago·July 1, 2020
GitHub

📋 Changes

  • Fixed memory leak in HTML5::saveHTML() #187
  • Add special case for end tag `</br>` #186
2.7.1
goetasgoetas·6y ago·June 14, 2020
GitHub

📋 Changes

  • add PHP 7.4 job #171
  • Prevent infinite loop on un-terminated entity declaration at EOF #178
2.7.0
goetasgoetas·6y ago·July 25, 2019
GitHub

📋 Changes

  • #164: Drop HHVM support
  • #168: Set default encoding in the DOMDocument object
2.6.0
goetasgoetas·7y ago·March 10, 2019
GitHub

📋 Changes

  • #163: Allow to pass a charset to the Scanner
2.5.0
goetasgoetas·7y ago·December 27, 2018
GitHub

📋 Changes

  • #162, #161, #155, #154, #153, #151: performance improvements
  • #156: fixed typos
  • #160: adopt and enforce code style
  • #159: remove deprecated php unit base test case
  • #150: backport changes from old master branch
2.4.0
goetasgoetas·7y ago·November 17, 2018
GitHub

📋 Changes

  • #148: Improve performance by moving sequence matching
  • #147: Improve the Tokenizer performance
  • #146: Improve performance by relying on a native string instead of InputStream
  • #144: Add DOM extension in composer.json
  • #145: Add more extensions on composer.json, improve phpdocs and remove dead code
  • #143: Remove experimental comment
2.3.1
goetasgoetas·7y ago·October 22, 2018
GitHub

📋 Changes

  • #121: Audio is not a block tag (fixed by #141)
  • #136: Handle illegal self-closing according to spec (fixed by #137)
  • #141: Minor fixes in the README
2.3.0
goetasgoetas·8y ago·September 4, 2017
GitHub

📋 Changes

  • #129: image within inline svg breaks system (fixed by #133)
  • #131: &sup2; does not work (fixed by #132)
  • #134: Improve tokenizer performance by 20% (alternative version of #130 thanks to @MichaelHeerklotz)
  • #135: Raw & in attributes
Release 2.2.22.2.2
goetasgoetas·9y ago·September 22, 2016
GitHub

📋 Changes

  • #116: In XML mode, tags are case sensitive
  • #115: Fix PHP Notice in OutputRules
  • #112: fix parsing of options of an optgroup
  • #111: Adding test for the address tag
Release 2.2.12.2.1
mattfarinamattfarina·10y ago·May 10, 2016
GitHub

📋 Changes

  • #109: Fixed issue where address tag could be written without closing tag
2.2.0
mattfarinamattfarina·10y ago·April 11, 2016
GitHub

📋 Changes

  • #105: Enable composer cache (for CI/CD)
  • #100: Use mb_substitute_character inset of ini_set for environments where
  • #98: Allow link, meta, style tags in noscript tags
  • #96: Fixed xml:href on svgs that use the "use" breaking
  • #94: Counting UTF8 characters performance improvement
  • #93: Use newer version of coveralls package
  • #90: Remove duplicate test
  • #87: Allow multiple root nodes
2.1.2
goetasgoetas·11y ago·June 7, 2015
GitHub

📋 Changes

  • #82: Support for PHP7
  • #84: Improved boolean attribute handling
2.1.1
mattfarinamattfarina·11y ago·March 23, 2015
GitHub

📋 Changes

  • #78: Fixes bug where unmatched entity like string drops everything after &.
2.1.0
goetasgoetas·11y ago·February 9, 2015
GitHub

📋 Changes

  • #74: Added disable_html_ns and target_doc dom parsing options
  • Unified option names
  • #73: Fixed alphabet, ß now can be detected
  • #75 and #76: Allow whitespace in RCDATA tags
  • #77: Fixed parsing blunder for json embeds
  • #72: Add options to HTML methods
Serializer output bugfix1.0.7
goetasgoetas·11y ago·February 6, 2015
GitHub

#77 Don't output anything on parse (Serializer bug)

Improved handling of HTML5 "unusual" usages 2.0.2
goetasgoetas·11y ago·December 17, 2014
GitHub

📋 Changes

  • closed #50 (empty document handling)
  • closed #63 (tags with strange capitalization)
  • closed #65 (dashes and underscores as allowed characters in tag names)
  • closed #68 (non inline elements inside inline containers)
Small fixes 2.0.1
goetasgoetas·11y ago·September 23, 2014
GitHub

📋 Changes

  • Closed #59
  • Closed #56
  • Sami as new documentation generator
2.0 Major release2.0.0
goetasgoetas·11y ago·July 28, 2014
GitHub

📋 Changes

  • #53: Improved boolean attributes handling
  • #52: Facebook HHVM compatibility
  • #48: Adopted PSR-2 as coding standard
  • #47: Moved everything to Masterminds namespace
  • #45: Added custom namespaces
  • #44: Added support to XML-style namespaces
  • #37: Refactored HTML5 class removing static methods
1.0.5
mattfarinamattfarina·12y ago·June 11, 2014
GitHub

📋 Changes

  • #38: Set the dev-master branch as the 1.0.x branch for composer (goetas)
  • #34: Tests use PSR-4 for autoloading. (goetas)
  • #40, #41: Fix entity handling in RCDATA sections. (KitaitiMakoto)
  • #32: Fixed issue where wharacter references were being incorrectly encoded in style tags.
1.0.4
mattfarinamattfarina·12y ago·April 30, 2014
GitHub

📋 Changes

  • #30/#31 Don't throw an exception for invalid tag names.
1.0.3
mattfarinamattfarina·12y ago·February 28, 2014
GitHub

📋 Changes

  • #23 and #29: Ignore attributes with illegal chars in name for the PHP DOM.