grapheme_strlen

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_strlen获取字符串的 grapheme 单位长度

说明

过程式风格

grapheme_strlen(string $string): int|false|null

获取字符串的 grapheme 单位长度(而不是字节或字符)

参数

string

要测量长度的字符串。它必须是有效的 UTF-8 字符串。

返回值

成功时返回字符串的长度,失败时返回 false

范例

范例 #1 grapheme_strlen() 例子

<?php

$char_a_ring_nfd
= "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) 规范化形式 "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) 规范化形式 "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);

?>

以上例子将输出

6

参见

添加注释

用户贡献的注释 1 条注释

8
jonhoggg at gmail dot com
2 年前
可以使用 grapheme_strlen() 将表情符号计为单个字符

<?php
echo strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); //28 - 哦不
echo mb_strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); // - 更接近,但不行
echo grapheme_strlen('🏴󠁧󠁢󠁥󠁮󠁧󠁿'); //1 - Bingo
?>
To Top