您可以使用 grapheme_strlen() 將表情符號計為單一字元
<?php
echo strlen('🏴'); //28 - 糟糕
echo mb_strlen('🏴'); // - 接近了,但還不夠
echo grapheme_strlen('🏴'); //1 - 答對了
?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_strlen — 取得以字素為單位的字串長度
字串
要測量長度的字串。它必須是有效的 UTF-8 字串。
成功時返回字串的長度,失敗時返回 false
。
範例 #1 grapheme_strlen() 範例
<?php
$char_a_ring_nfd = "a\xCC\x8A"; // '拉丁字母小寫 a 附帶上環' (U+00E5) 正規化格式 "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // '拉丁字母小寫 o 附帶分音符' (U+00F6) 正規化格式 "D"
print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd);
?>
以上範例會輸出
6
您可以使用 grapheme_strlen() 將表情符號計為單一字元
<?php
echo strlen('🏴'); //28 - 糟糕
echo mb_strlen('🏴'); // - 接近了,但還不夠
echo grapheme_strlen('🏴'); //1 - 答對了
?>