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

Polyfill Intl Grapheme Laravel Package

symfony/polyfill-intl-grapheme

Symfony polyfill for Intl Grapheme functions (grapheme_*): provides consistent multibyte-safe string length, substring, and position operations when the intl extension isn’t available. Useful for Unicode-aware text handling across PHP versions.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Enables consistent internationalization features (e.g., accurate character counting for social media posts, proper string slicing for multilingual content) without requiring the intl extension, ensuring broader deployment compatibility across diverse hosting environments.
  • Reduces technical debt by eliminating custom grapheme processing code, which often introduces bugs and maintenance overhead for edge cases like emojis or combining characters.
  • Supports roadmap goals for global user adoption by guaranteeing text-handling reliability in legacy or restricted server setups (e.g., shared hosting with disabled intl), avoiding costly rework for internationalization features later.

When to Consider This Package

  • Adopt when targeting environments where the intl extension is unavailable (e.g., older PHP versions, budget shared hosting) or when features depend on grapheme-aware text operations (e.g., character-limited inputs, search indexing for non-ASCII languages).
  • Avoid if the project exclusively handles ASCII or simple UTF-8 text (e.g., English-only apps) or if the infrastructure already enforces intl (e.g., modern cloud platforms like AWS Elastic Beanstalk).
  • Do not use for non-grapheme-related intl needs (e.g., date formatting, currency conversion)—other Symfony polyfills or direct intl usage would be more appropriate.

How to Pitch It (Stakeholders)

Executives: "This lightweight polyfill ensures our app handles multilingual text correctly for global users—preventing issues like broken character counts in posts or search failures—which directly impacts user satisfaction and reduces support costs. It’s a zero-cost solution for deploying seamlessly across any server environment, accelerating our international expansion without infrastructure overhead."
Engineering: "It’s a battle-tested, MIT-licensed drop-in replacement for grapheme_* functions that works seamlessly with Laravel. No custom code needed—just require it, and it automatically falls back to native intl when available or provides a polyfill otherwise. Saves weeks of debugging cross-environment string issues while keeping dependencies minimal."

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport