Text formatting library that supports BBCode, HTML and other markup via plugins. Handles emoticons, censors words, automatically embeds media and more.
ce28c14bd
FilterSyntaxMatcher: fixed parseFilterArg() signature134bffb2b
Extended optimizations related to equality tests to inequality testsf8c5a455f
Replaced array callbacks with first class callables where applicablec7609e321
Updated docse43f99a47
Use in_array() in strict mode wherever applicablec9f762aad
Added JavaScript support for str_replace() as an attribute filter54546445f
Added deprecation warning to docsa3aa58984
AttributeFilterChain: added support for constructor arguments in default filters5a937310a
AttributeFilterCollection: added support for arguments passed to default filters84ee03aad
FilterSyntaxMatcher: added support for named arguments4599040f4
MediaEmbed: added Captivateddadd0525
MediaEmbed: added XenForo56da3f431
Fixed links in docs9dc8b1a69
Fixed nullable types for PHP 8.4894615027
MediaEmbed: updated Imgur7372cd01f
MediaEmbed: updated Kalturafb4b6d957
MediaEmbed: updated Mastodon0941fde59
Updated copyright notice99dffbce7
Updated dependencies⚠️ If you generate your own bundles, be sure to regenerate them after upgrading as their signature as been updated. ⚠️
a41591323
Bundles: added type declarationsb1d809a0c
MediaEmbed: removed Amazonf9ff2282d
MediaEmbed: removed Streamjad9d50711d
AbstractChooseOptimization: optimized isEqualNode() for the common casee4eb30c89
AbstractChooseOptimization: replaced isEqualNode() implementationf97349402
MediaEmbed: updated Bandcamp7c95e9d51
MediaEmbed: updated Threadse1ec00821
AbstractNormalization: added workaround for weird DOM quirks07f2468de
MediaEmbed: added Twitter oEmbed endpointe595860bb
DisallowUnsupportedXSL: fixed the range of allowed characters in dynamic attributes25714e6dc
Bumped the requirements for s9e/sweetdom14d759679
OptimizeChoose: minor code simplification31ae9abd5
OptimizeChoose: reorganized codefc9795083
OptimizeChooseText: remove empty text nodes during optimizationd8e08b723
UninlineAttributes: refactored how xsl:attribute elements are created195118a53
Updated dependencies⚠️ Starting with this release, s9e\TextFormatter requires PHP 8.1 or newer. ⚠️
44b040c98
Added GitHub workflowf0fbc6f84
TemplateNormalizations: added OptimizeChooseAttributes pass3da387000
TemplateNormalizations: added support for SweetDOMbb1a1d2ac
MediaEmbed: removed NBC Sportsbc785a197
MediaEmbed: removed Stitcherd5b261549
MediaEmbed: fixed TikTok oEmbed endpoint4e54aa38d
ElementInspector: updated to the latest HTML specs3601bb871
Emoji: updated to Unicode 15.18e6a8b119
MediaEmbed: updated IMDbf788f1d86
MediaEmbed: updated Podbean7574739cb
MediaEmbed: updated Spreaker6c327465b
ParsedDOM: simplified some DOM manipulationsb6fb13a79
RecursiveParser: use unnamed captures for arguments04f5bc417
RegexpConvertor: updated Unicode propertiesc2c6c69dc
TemplateNormalizations: simplified code through argument unpackingfddea0221
Updated dependencies20e789066
XPathConvertor: optimize away superfluous string() callscd53829c3
BBCodes: updated default CODEc5891a573
MediaEmbed: updated Facebookee1965642
MediaEmbed: updated Facebookb429c7b60
MediaEmbed: updated Facebook593490f42
MediaEmbed: updated Facebook135de3549
MediaEmbed: updated Twitter334e96d72
MediaEmbed: updated Twitter6fb87d797
MediaEmbed: updated YouTube38e323231
MediaEmbed: added Threadsd1887fad1
MediaEmbed: added support for YouTube clipsd34f9d3c1
MediaEmbed: removed defunct site Gfycata35d090d2
MediaEmbed: updated Facebook473cb5958
MediaEmbed: updated Facebookb06918f8f
MediaEmbed: updated Instagram9cd4fc514
MediaEmbed: updated Spotifyae32e676d
MediaEmbed: updated Spotifycbf872bb7
MediaEmbed: updated TrendingViews6653f07f7
MediaEmbed: updated Twitter1817f1b79
MediaEmbed: updated YouTube2d73167e4
Reorganized TemplateNormations⚠️ Starting with this release, s9e\TextFormatter requires PHP 8.
5b58f4485
Added ParsedDOM API to safely manipulate XML052cde47b
BBCodes: updated hljs-loadere824143f7
MediaEmbed: updated SlideShare84be6040c
MediaEmbed: updated SlideShare31553ea9a
MediaEmbed: updated Telegram422f66269
MediaEmbed: updated TikTok0b2abb6e3
MediaEmbed: updated Tumblrab81d37a8
MediaEmbed: updated YouTube