TextFormatter Versions Save

Text formatting library that supports BBCode, HTML and other markup via plugins. Handles emoticons, censors words, automatically embeds media and more.

2.17.2

1 month ago

Full commit log

Added

  • 487e3c48b MediaEmbed: added On3 DB

Removed

  • 8d91c8b3f MediaEmbed: removed BleacherReport

Changed

  • bf99a935d MediaEmbed: updated 247Sports
  • 05b9223e2 MediaEmbed: updated WSJ
  • ac0b75ee0 MediaEmbed: updated example URLs
  • 742e3da89 Return the response body when a HTTP error occurs during scraping

2.17.1

2 months ago

Full commit log

Fixed

  • ce28c14bd FilterSyntaxMatcher: fixed parseFilterArg() signature

Changed

  • 134bffb2b Extended optimizations related to equality tests to inequality tests
  • f8c5a455f Replaced array callbacks with first class callables where applicable
  • c7609e321 Updated docs
  • e43f99a47 Use in_array() in strict mode wherever applicable

2.17.0

2 months ago

Full commit log

Added

  • c9f762aad Added JavaScript support for str_replace() as an attribute filter
  • 54546445f Added deprecation warning to docs
  • a3aa58984 AttributeFilterChain: added support for constructor arguments in default filters
  • 5a937310a AttributeFilterCollection: added support for arguments passed to default filters
  • 84ee03aad FilterSyntaxMatcher: added support for named arguments
  • 4599040f4 MediaEmbed: added Captivate
  • ddadd0525 MediaEmbed: added XenForo

Fixed

  • 56da3f431 Fixed links in docs
  • 9dc8b1a69 Fixed nullable types for PHP 8.4

Changed

  • 894615027 MediaEmbed: updated Imgur
  • 7372cd01f MediaEmbed: updated Kaltura
  • fb4b6d957 MediaEmbed: updated Mastodon
  • 0941fde59 Updated copyright notice
  • 99dffbce7 Updated dependencies

2.16.0

4 months ago

⚠️ If you generate your own bundles, be sure to regenerate them after upgrading as their signature as been updated. ⚠️

Full commit log

Added

  • a41591323 Bundles: added type declarations

Removed

  • b1d809a0c MediaEmbed: removed Amazon
  • f9ff2282d MediaEmbed: removed Streamja

Changed

  • d9d50711d AbstractChooseOptimization: optimized isEqualNode() for the common case
  • e4eb30c89 AbstractChooseOptimization: replaced isEqualNode() implementation
  • f97349402 MediaEmbed: updated Bandcamp
  • 7c95e9d51 MediaEmbed: updated Threads

2.15.1

5 months ago

Full commit log

Added

  • e1ec00821 AbstractNormalization: added workaround for weird DOM quirks
  • 07f2468de MediaEmbed: added Twitter oEmbed endpoint

Fixed

  • e595860bb DisallowUnsupportedXSL: fixed the range of allowed characters in dynamic attributes

Changed

  • 25714e6dc Bumped the requirements for s9e/sweetdom
  • 14d759679 OptimizeChoose: minor code simplification
  • 31ae9abd5 OptimizeChoose: reorganized code
  • fc9795083 OptimizeChooseText: remove empty text nodes during optimization
  • d8e08b723 UninlineAttributes: refactored how xsl:attribute elements are created
  • 195118a53 Updated dependencies

2.15.0

5 months ago

⚠️ Starting with this release, s9e\TextFormatter requires PHP 8.1 or newer. ⚠️

Full commit log

Added

  • 44b040c98 Added GitHub workflow
  • f0fbc6f84 TemplateNormalizations: added OptimizeChooseAttributes pass
  • 3da387000 TemplateNormalizations: added support for SweetDOM

Removed

  • bb1a1d2ac MediaEmbed: removed NBC Sports
  • bc785a197 MediaEmbed: removed Stitcher

Fixed

  • d5b261549 MediaEmbed: fixed TikTok oEmbed endpoint

Changed

  • 4e54aa38d ElementInspector: updated to the latest HTML specs
  • 3601bb871 Emoji: updated to Unicode 15.1
  • 8e6a8b119 MediaEmbed: updated IMDb
  • f788f1d86 MediaEmbed: updated Podbean
  • 7574739cb MediaEmbed: updated Spreaker
  • 6c327465b ParsedDOM: simplified some DOM manipulations
  • b6fb13a79 RecursiveParser: use unnamed captures for arguments
  • 04f5bc417 RegexpConvertor: updated Unicode properties
  • c2c6c69dc TemplateNormalizations: simplified code through argument unpacking
  • fddea0221 Updated dependencies
  • 20e789066 XPathConvertor: optimize away superfluous string() calls

2.14.3

6 months ago

Full commit log

Changed

  • cd53829c3 BBCodes: updated default CODE
  • c5891a573 MediaEmbed: updated Facebook
  • ee1965642 MediaEmbed: updated Facebook
  • b429c7b60 MediaEmbed: updated Facebook
  • 593490f42 MediaEmbed: updated Facebook
  • 135de3549 MediaEmbed: updated Twitter
  • 334e96d72 MediaEmbed: updated Twitter
  • 6fb87d797 MediaEmbed: updated YouTube

2.14.2

7 months ago

Full commit log

Changed

  • 440d40901 Enable PHP8 functions in bundled renderers
  • 8188d7ace MediaEmbed: updated Reddit
  • 528665cc3 RulesGeneratorList: updated remove()
  • f33cdf622 Updated RTD config

2.14.1

8 months ago

Full commit log

Added

  • 38e323231 MediaEmbed: added Threads
  • d1887fad1 MediaEmbed: added support for YouTube clips

Removed

  • d34f9d3c1 MediaEmbed: removed defunct site Gfycat

Changed

  • a35d090d2 MediaEmbed: updated Facebook
  • 473cb5958 MediaEmbed: updated Facebook
  • b06918f8f MediaEmbed: updated Instagram
  • 9cd4fc514 MediaEmbed: updated Spotify
  • ae32e676d MediaEmbed: updated Spotify
  • cbf872bb7 MediaEmbed: updated TrendingViews
  • 6653f07f7 MediaEmbed: updated Twitter
  • 1817f1b79 MediaEmbed: updated YouTube
  • 2d73167e4 Reorganized TemplateNormations

2.14.0

11 months ago

⚠️ Starting with this release, s9e\TextFormatter requires PHP 8.

Full commit log

Added

  • 5b58f4485 Added ParsedDOM API to safely manipulate XML

Changed

  • 052cde47b BBCodes: updated hljs-loader
  • e824143f7 MediaEmbed: updated SlideShare
  • 84be6040c MediaEmbed: updated SlideShare
  • 31553ea9a MediaEmbed: updated Telegram
  • 422f66269 MediaEmbed: updated TikTok
  • 0b2abb6e3 MediaEmbed: updated Tumblr
  • ab81d37a8 MediaEmbed: updated YouTube