(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_strlen — Получает количество графемных кластеров в строке
Процедурный стиль
Функция возвращает количество графемных кластеров в строке, а не длину в байтах или символах.
stringСтрока по стандарту UTF-8, в которой требуется посчитать количество графемных кластеров.
Функция возвращает количество графемных кластеров в строке, если выполнилась успешно, null или false, если возникла ошибка.
Пример #1 Пример подсчёта графемных кластеров в строке функцией grapheme_strlen()
<?php
// Символ | Название | Кодовая точка | Форма нормализации
// å: 'LATIN SMALL LETTER A WITH RING ABOVE', U+00E5, D
$char_a_ring_nfd = "a\xCC\x8A";
// ö: 'LATIN SMALL LETTER O WITH DIAERESIS', U+00F6, D
$char_o_diaeresis_nfd = "o\xCC\x88";
print grapheme_strlen('abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);Результат выполнения приведённого примера:
6