PHPackages                             symfony/polyfill-intl-grapheme - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. symfony/polyfill-intl-grapheme

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

symfony/polyfill-intl-grapheme
==============================

Symfony polyfill for intl's grapheme\_\* functions

v1.38.1(1mo ago)1.7k754.7M↓17%520MITPHPPHP &gt;=7.2

Since Nov 4Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/symfony/polyfill-intl-grapheme)[ Packagist](https://packagist.org/packages/symfony/polyfill-intl-grapheme)[ Docs](https://symfony.com)[ Fund](https://symfony.com/sponsor)[ GitHub Sponsors](https://github.com/fabpot)[ RSS](/packages/symfony-polyfill-intl-grapheme/feed)WikiDiscussions 1.x Synced 3d ago

READMEChangelog (6)DependenciesVersions (49)Used By (20)

Symfony Polyfill / Intl: Grapheme
=================================

[](#symfony-polyfill--intl-grapheme)

This component provides a partial, native PHP implementation of the [Grapheme functions](https://php.net/intl.grapheme) from the [Intl](https://php.net/intl) extension.

- [`grapheme_extract`](https://php.net/grapheme_extract): Extract a sequence of grapheme clusters from a text buffer, which must be encoded in UTF-8
- [`grapheme_stripos`](https://php.net/grapheme_stripos): Find position (in grapheme units) of first occurrence of a case-insensitive string
- [`grapheme_stristr`](https://php.net/grapheme_stristr): Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
- [`grapheme_strlen`](https://php.net/grapheme_strlen): Get string length in grapheme units
- [`grapheme_strpos`](https://php.net/grapheme_strpos): Find position (in grapheme units) of first occurrence of a string
- [`grapheme_strripos`](https://php.net/grapheme_strripos): Find position (in grapheme units) of last occurrence of a case-insensitive string
- [`grapheme_strrpos`](https://php.net/grapheme_strrpos): Find position (in grapheme units) of last occurrence of a string
- [`grapheme_strstr`](https://php.net/grapheme_strstr): Returns part of haystack string from the first occurrence of needle to the end of haystack
- [`grapheme_substr`](https://php.net/grapheme_substr): Return part of a string
- [`grapheme_str_split`](https://php.net/grapheme_str_split): Splits a string into an array of individual or chunks of graphemes

More information can be found in the [main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).

License
=======

[](#license)

This library is released under the [MIT license](LICENSE).

###  Health Score

73

—

ExcellentBetter than 100% of packages

Maintenance92

Actively maintained with recent releases

Popularity78

Solid adoption and visibility

Community37

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 61.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~80 days

Recently: every ~11 days

Total

49

Last Release

39d ago

PHP version history (3 changes)v1.0.0PHP &gt;=5.3.3

v1.20.0PHP &gt;=7.1

v1.32.0PHP &gt;=7.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/47313?v=4)[Fabien Potencier](/maintainers/fabpot)[@fabpot](https://github.com/fabpot)

---

Top Contributors

[![nicolas-grekas](https://avatars.githubusercontent.com/u/243674?v=4)](https://github.com/nicolas-grekas "nicolas-grekas (49 commits)")[![fabpot](https://avatars.githubusercontent.com/u/47313?v=4)](https://github.com/fabpot "fabpot (5 commits)")[![GPHemsley](https://avatars.githubusercontent.com/u/376064?v=4)](https://github.com/GPHemsley "GPHemsley (2 commits)")[![gharlan](https://avatars.githubusercontent.com/u/330436?v=4)](https://github.com/gharlan "gharlan (2 commits)")[![Ayesh](https://avatars.githubusercontent.com/u/811553?v=4)](https://github.com/Ayesh "Ayesh (2 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (1 commits)")[![IonBazan](https://avatars.githubusercontent.com/u/1985514?v=4)](https://github.com/IonBazan "IonBazan (1 commits)")[![JakeFr](https://avatars.githubusercontent.com/u/5176129?v=4)](https://github.com/JakeFr "JakeFr (1 commits)")[![JanJakes](https://avatars.githubusercontent.com/u/141436?v=4)](https://github.com/JanJakes "JanJakes (1 commits)")[![jeroenvisser101](https://avatars.githubusercontent.com/u/1941348?v=4)](https://github.com/jeroenvisser101 "jeroenvisser101 (1 commits)")[![kbond](https://avatars.githubusercontent.com/u/127811?v=4)](https://github.com/kbond "kbond (1 commits)")[![keradus](https://avatars.githubusercontent.com/u/2716794?v=4)](https://github.com/keradus "keradus (1 commits)")[![Luc45](https://avatars.githubusercontent.com/u/9341686?v=4)](https://github.com/Luc45 "Luc45 (1 commits)")[![lyrixx](https://avatars.githubusercontent.com/u/408368?v=4)](https://github.com/lyrixx "lyrixx (1 commits)")[![nikic](https://avatars.githubusercontent.com/u/216080?v=4)](https://github.com/nikic "nikic (1 commits)")[![PhilDaiguille](https://avatars.githubusercontent.com/u/80407535?v=4)](https://github.com/PhilDaiguille "PhilDaiguille (1 commits)")[![remicollet](https://avatars.githubusercontent.com/u/270445?v=4)](https://github.com/remicollet "remicollet (1 commits)")[![RGustBardon](https://avatars.githubusercontent.com/u/1412877?v=4)](https://github.com/RGustBardon "RGustBardon (1 commits)")[![robfrawley](https://avatars.githubusercontent.com/u/3967713?v=4)](https://github.com/robfrawley "robfrawley (1 commits)")[![samnela](https://avatars.githubusercontent.com/u/1852108?v=4)](https://github.com/samnela "samnela (1 commits)")

---

Tags

compatibilitycomponentgraphemeintljavascriptpolyfillportableshimsymfonysymfony-componentsymfony-polyfillcompatibilityportablepolyfillshimintlgrapheme

### Embed Badge

![Health badge](/badges/symfony-polyfill-intl-grapheme/health.svg)

```
[![Health](https://phpackages.com/badges/symfony-polyfill-intl-grapheme/health.svg)](https://phpackages.com/packages/symfony-polyfill-intl-grapheme)
```

###  Alternatives

[symfony/polyfill-intl-idn

Symfony polyfill for intl's idn\_to\_ascii and idn\_to\_utf8 functions

3.4k823.1M147](/packages/symfony-polyfill-intl-idn)[symfony/polyfill-intl-normalizer

Symfony polyfill for intl's Normalizer class and related functions

2.1k885.3M65](/packages/symfony-polyfill-intl-normalizer)[symfony/polyfill-intl-icu

Symfony polyfill for intl's ICU-related data and classes

2.6k266.6M151](/packages/symfony-polyfill-intl-icu)[symfony/polyfill-mbstring

Symfony polyfill for the Mbstring extension

7.8k1.2B760](/packages/symfony-polyfill-mbstring)[symfony/polyfill-php72

Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions

4.7k688.6M35](/packages/symfony-polyfill-php72)[symfony/polyfill-php73

Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions

2.4k602.0M85](/packages/symfony-polyfill-php73)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
