(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_substr — 返回字符串的一部分
string
输入字符串。必须是有效的 UTF-8。
offset
以默认字符单元为单位的起始位置。如果 offset
为非负数,则返回的字符串将从 string
中的第 offset
个位置开始,从零开始计数。如果 offset
为负数,则返回的字符串将从字符串末尾的第 offset
个字符单元开始。
length
以字符单元为单位的长度。如果指定了 length
并且为正数,则返回的字符串将最多包含从 offset
开始的 length
个字符单元(取决于字符串的长度)。如果指定了 length
并且为负数,则将从字符串末尾省略那么多字符单元(在计算 offset
为负数时的起始位置之后)。如果 offset
表示超出此截断的位置,则将返回空字符串。
返回 string
的提取部分,或者在失败时返回 false
。
版本 | 描述 |
---|---|
8.0.0 | 此函数现在始终将越界偏移量限制在字符串边界内。以前,在某些情况下返回的是 false 而不是空字符串。 |
例 1 grapheme_substr() 例子
<?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 urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>
以上示例将输出
a%CC%8Abco%CC%88