Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Text Formatter Laravel Package

s9e/text-formatter

PHP text formatting library with plugin support for BBCode, Markdown, HTML, and more. Includes predefined bundles, extensive documentation, and a JavaScript port for client-side preview and demos. Install via Composer and integrate customizable parsing/rendering.

View on GitHub
Deep Wiki
Context7
2.19.3

Full commit log

Changed

  • 2c7c4d072 MediaEmbed: fix YouTube
2.19.2

Full commit log

Changed

  • 85d45dcb8 MediaEmbed: updated YouTube
  • 1a6fd790b MediaEmbed: updated Youku
2.19.1

Full commit log

Added

  • 99e57d380 MediaEmbed: added ConfigurableHostInterface
  • 8346e81d3 MediaEmbed: added Crankers
  • 9e4296987 MediaEmbed: added PeerTube
  • f87358afa MediaEmbed: added missing source file

Removed

  • f6bdc27a5 MediaEmbed: removed Livestream (defunct)

Fixed

  • 479af5fd2 MediaEmbed: fixed PeerTube helper

Changed

  • b20fb7bcb Disable network tests by default
  • 7aef5f425 Fix deprecation warnings on PHP 8.5
  • 5de379d6d Fix more deprecation warnings on PHP 8.5
  • e0aea781e MediaEmbed: updated Imgur
  • ce6eaaa14 MediaEmbed: updated On3
  • 303959a41 MediaEmbed: updated Pastebin
  • cb1368cf2 MediaEmbed: updated Rumble
  • 05febbbe9 MediaEmbed: updated Threads
  • 5a32f548c RegexpConvertor: updated Unicode properties
  • ffa2386ed Remove unsupported PHP 8.1 from CI
  • c22e88f0b Updated docs
2.19.0

Full commit log

Added

  • 0ad200815 MediaEmbed: added AbstractConfigurableHostHelper::getHosts()
  • 922ca9e50 MediaEmbed: added Bluesky
  • c126dec98 MediaEmbed: added Nacho Video
  • fcd2c8af5 MediaEmbed: added Omny

Changed

  • 5eabf320b MediaEmbed updated SoundCloud
  • ac657d73b MediaEmbed: updated Apple Podcasts
  • c30ea7129 MediaEmbed: updated Bandcamp
  • acb7c7f77 MediaEmbed: updated Bluesky
  • 22c5386c5 MediaEmbed: updated Facebook
  • 15d62a2dc MediaEmbed: updated Facebook
  • bc9958e65 MediaEmbed: updated Facebook
  • 309108d80 MediaEmbed: updated Instagram
  • 9e72cf786 MediaEmbed: updated Instagram
  • 425d20910 MediaEmbed: updated VK
  • 4a1e208b3 MediaEmbed: updated VK
  • 4d84cce94 MediaEmbed: updated VK
  • 9288d086f RegexpConvertor: updated Unicode properties
  • e4c43adb7 Updated hljs-loader
  • fd428797b refactor: Remove redundant use statement
2.18.0

⚠️ This release contains API changes. See docs/Internals/API_changes.md for a description. ⚠️

Full commit log

Added

  • 613f6361c MediaEmbed: added SiteHelpers API

Changed

  • 8cf698f84 MediaEmbed: updated Spreaker
  • 9ac3f008c Updated AbstractNormalization
  • a96383c6e Updated GitHub action
  • a025c6e11 Updated dependencies
  • c06092c26 Upgraded GitHub actions
2.17.3

Full commit log

Changed

  • 3001de226 MediaEmbed: updated Giphy
  • 7b7c14b61 MediaEmbed: updated Instagram
  • 3a31a34c1 MediaEmbed: updated JSFiddle
  • 34912a84e MediaEmbed: updated Medium
  • 4fd5739d6 MediaEmbed: updated VK
  • eafb249cc MediaEmbed: updated dark theme selector in Telegram and Twitter
2.17.2

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

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

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

⚠️ 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

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

⚠️ 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

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

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

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

⚠️ 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
2.13.1

Full commit log

Added

  • f84dbded0 MediaEmbed: added Bunny Stream
  • 922025f00 MediaEmbed: added support for YouTube Live URLs

Changed

  • 8b473fee9 Improved PHP 8.2 support
  • 285322ab8 MediaEmbed: updated Tumblr
  • d1441d7ae MediaEmbed: updated Tumblr
  • 961b39811 Parser: remove U+FFFE and U+FFFF from input and output
  • 889296b3b Updated PHPUnit to 9.6
2.13.0

Full commit log

Added

  • 536cbdf1f Autoimage: added support for custom file extensions
  • eb8a5c487 Autovideo: added support for custom file extensions
  • d4750cdbb MediaEmbed: added MastodonHelper
  • 9ad74ecac MediaEmbed: added support for custom Mastodon instances

Changed

  • 7f7481ab9 MediaEmbed: updated Mastodon
  • ba76ce0b0 MediaEmbed: updated Rutube
  • 9724b7906 MediaEmbed: updated TikTok
2.12.3

Full commit log

Changed

  • c0ce8f099 ElementInspector: updated HTML specs
  • 41b342149 Emoji: replaced the default assets URL
2.12.2

Full Changelog: https://github.com/s9e/TextFormatter/compare/2.12.1...2.12.2

Added

  • ece847b93 MediaEmbed: added Mastodon

Changed

  • af7a4ddcb BBCodes: updated default CODE
  • 0989028dc Emoji: updated to Unicode 15.0
  • bb5aadcbb Litedown: updated inline spoilers' onclick handler
  • 62d23f557 MediaEmbed: updated Spotify
  • ce3edbd40 MediaEmbed: updated Tumblr
2.12.1

Full commit log

Added

  • 4460ef815 MediaEmbed: added Rumble oEmbed endpoint
  • 02eefa9cf MediaEmbed: added Rutube oEmbed endpoint

Removed

  • d3d27b7bd MediaEmbed: removed bad header from Rutube

Changed

  • 3b117c891 MediaEmbed: updated Facebook
  • 8b3919d87 MediaEmbed: updated Facebook
  • 9fb6cd493 MediaEmbed: updated Facebook
  • f0879ef04 MediaEmbed: updated dynamic iframes
2.12.0

⚠️ Starting with this release, s9e\TextFormatter requires PHP >= 7.4. ⚠️ ⚠️ The JavaScript live preview requires a browser with ES6 features. ⚠️

Full commit log

Added

  • 71e5bbe78 Added CSP headers to live preview demos
  • 6ceca4fff Added doc
  • 5ce43ed08 JavaScript: added messaging-related externs

Removed

  • 440817eb0 JavaScript: removed support for Internet Explorer

Changed

  • 20a3c1333 BBCodes: updated default SPOILER
  • 87223f85e Bumped requirements to PHP >= 7.4
  • 266f84b50 FunctionCache: don't add a semicolon if there's aleady one followed by whitespace
  • babb3f094 JavaScript: hash function content as key in function cache
  • ac7984af4 JavaScript: made the XSLT generator public
  • c4f347bc2 JavaScript: moved function cache generator to its own class
  • dd4553f4f JavaScript: unescape braces before generating the function cache key
  • 6404747b1 JavaScript: updated externs
  • ff36ac05d JavaScript: updated externs
  • 47cba5e05 JavaScript: use ES6 syntax for variable declarations
  • 8f58dcb9f JavaScript: use arrow functions where appropriate
  • cf678e15b MediaEmbed: replaced var with let in onload handlers
  • a9ac9d364 MediaEmbed: updated Odysee
  • b4f8a86df MediaEmbed: updated TikTok
  • c3e1c382b Updated live preview demo
  • d55692342 Updated live preview demos
2.11.5

Full commit log

Removed

  • e3245de01 BBCodes: removed redundant higlighting in CODE

Fixed

  • c87eb3f35 BBCodes: fixed Closure Compiler warning in CODE

Changed

  • 02f0d41f2 BBCodes: updated hljs-loader in CODE
  • cdd9d190e ElementInspector: updated to latest specs
  • df8440c2b JavaScript: prefill the function cache with static code
2.11.4

Full commit log

Added

  • 87a284e38 MediaEmbed: added Wavekit

Changed

  • e0dcd772b BBCodes: updated default CODE
  • 4919d8bd3 MediaEmbed: updated MixCloud
  • b23054412 Updated dependencies
2.11.3

Full commit log

Added

  • e0fab7776 MediaEmbed: added support for private playlists in SoundCloud
2.11.2

What's Changed

New Contributors

Full Changelog: https://github.com/s9e/TextFormatter/compare/2.11.1...2.11.2

2.11.1

Full commit log

Added

  • 7cd2a60be MediaEmbed: added Gfycat oEmbed data
  • 16d598964 MediaEmbed: added support for dark theme in Instagram
  • 66afa69e6 MediaEmbed: added support for dark theme in Reddit
  • 6fca64d7e MediaEmbed: added support for dark theme in Telegram

Removed

  • 5e294db63 MediaEmbed: removed Vocaroo's old Flash player

Fixed

  • c199a448a Fixed callable type annotations

Changed

  • 840acf54c ElementInspector: updated element definitions
  • 0f6b6372a MediaEmbed: updated Acast
  • 2822347ca MediaEmbed: updated Getty
  • 6b6fc560c MediaEmbed: updated Odysee
  • e0d2ecbb2 MediaEmbed: updated Rumble
  • 683a50394 MediaEmbed: updated Spotify example URL
  • e3c00295b MediaEmbed: updated Streamable
  • 17904dd79 MediaEmbed: updated TikTok
  • 2483eaf1b MediaEmbed: updated Twitter
  • 0cbd29fde MediaEmbed: updated Twitter
  • bfd6323d0 MediaEmbed: updated Vimeo
  • 3fcab01e0 MediaEmbed: updated Vimeo
  • 53ce06e23 MediaEmbed: updated WSHH
  • 9c8a36d2d Updated external dependencies
  • d11508589 Use correct parameter type in setParameters docblock
  • 4f02bf465 XmlFileDefinitionCollection: allow '0' to be cast to an integer
  • bc0d88317 XmlFileDefinitionCollection: do not convert non-string values
2.11.0

Full commit log

Added

  • bc58b94ed Added support for PHP 8.1
  • cf6fb85ce MediaEmbed: added Audius

Changed

  • 1d5e3e2a1 Emoji: updated to Unicode 14.0
  • e8ff4904d MediaEmbed: updated Facebook
2.10.0

Full commit log

Changed

  • 2bacb5d24 BBCodes: give explicitly-paired BBCodes slightly better priority
  • 1c00f2624 MediaEmbed: ignore Gist archive links
  • 11c766817 MediaEmbed: updated Acast
  • e75f9f3d2 MediaEmbed: updated Gist
  • a81e56567 MediaEmbed: updated TrendingViews
  • f80f790b0 NormalizedCollection: ignore invalid keys in delete() and exists()
2.9.4

Full commit log

Added

  • 6d3c5af8e MediaEmbed: added Acast
  • 0c4e0c15c MediaEmbed: added YouMaker
  • dcf3cbf98 RegexpConvertor: added early return for empty regexps

Changed

  • c88fe3653 BBCodes: updated default CODE BBCode
  • 62b4e7f4b BBCodes: updated default CODE BBCode
  • 29d5bcf16 Change code highlighting theme from github-gist to github.
  • 37fadd4e9 MediaEmbed: scrape from HTTP headers as well as body
  • 6e66120f0 MediaEmbed: updated 247Sports
  • 83629d2c4 MediaEmbed: updated Medium
  • 03c9dd73a Use HLJS 11.0.1
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver