(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_strlen — Guet string length in grapheme units
Procedural style
Guet string length in grapheme units (not bytes or characters)
string
The string being measured for length. It must be a valid UTF-8 string.
The length of the string on success, or
false
on failure.
Example #1 grapheme_strlen() example
<?php
$char_a_ring_nfd
=
"a\xCC\x8A"
;
// 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd
=
"o\xCC\x88"
;
// 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
print
grapheme_strlen
(
'abc'
.
$char_a_ring_nfd
.
$char_o_diaeresis_nfd
.
$char_a_ring_nfd
);
?>
The above example will output:
6
You can use grapheme_strlen() to count emojis as a single character:<?php
echostrlen('🏴'); //28 - oh noechomb_strlen('🏴'); // - closer, but noechographeme_strlen('🏴'); //1 - Bingo?>