函数名称:grapheme_extract()
适用版本:PHP 5 >= 5.3.0, PHP 7
用法:grapheme_extract() 函数用于从一个字符串中提取指定长度的字符(grapheme),并返回提取的字符。
语法:string grapheme_extract ( string $haystack , int $size [, int $extract_type = GRAPHEME_EXTR_COUNT [, int $start = 0 [, int &$next ]]] )
参数:
- haystack:要提取字符的字符串。
- size:要提取的字符数。
- extract_type:提取类型,可选参数,默认值为 GRAPHEME_EXTR_COUNT。可以是以下常量之一:
- GRAPHEME_EXTR_COUNT:返回提取的字符数。
- GRAPHEME_EXTR_MAXBYTES:返回提取的最大字节数。
- GRAPHEME_EXTR_MAXCHARS:返回提取的最大字符数。
- start:开始提取的位置,默认值为 0。
- next:提取后的下一个字符的位置。
返回值:
- 如果提取成功,则返回提取的字符。
- 如果提取失败,则返回 FALSE。
示例:
$str = "Hello, 世界!";
$extracted = grapheme_extract($str, 5);
echo $extracted; // 输出:Hello
$extracted = grapheme_extract($str, 5, GRAPHEME_EXTR_MAXBYTES);
echo $extracted; // 输出:Hello
$extracted = grapheme_extract($str, 5, GRAPHEME_EXTR_MAXCHARS);
echo $extracted; // 输出:Hello
$extracted = grapheme_extract($str, 5, GRAPHEME_EXTR_COUNT, 7, $next);
echo $extracted; // 输出:世界
echo $next; // 输出:10
上述示例中,我们首先使用 grapheme_extract() 函数从字符串中提取了前 5 个字符,并将结果赋值给 $extracted 变量。然后,我们使用不同的提取类型参数进行了提取操作,分别是 GRAPHEME_EXTR_MAXBYTES 和 GRAPHEME_EXTR_MAXCHARS。最后一个示例中,我们还指定了提取开始位置为 7,并使用了引用参数 $next 来获取提取后的下一个字符的位置。