strlen
PHP の intl 拡張機能の Unicode 関数のこの奇妙な動作を説明できる人はいますか?
var_dump(grapheme_strlen("a\r\n")); // (ASCII 'a') length: 3
var_dump(grapheme_strlen("の\r\n")); // length: 2
var_dump(grapheme_strlen("\r\n")); // length: 2
"\r\n" (Windows で行区切りに使用される 2 つの別個のコード ポイントである CR LF) を 1 つの書記素としてカウントしているようgrapheme_strlen
に見えますが、これは関数の名前を考えると非常に合理的ですが、行末の前に非 ASCII 文字があります。なんで?