English | 简体中文 | 繁體中文
查询

IntlBreakIterator::getPartsIterator()函数—用法及示例

「 创建一个用于迭代分隔的文本的迭代器对象,可以根据指定的规则将文本分割成单词、句子或其他指定的单元 」


函数名称:IntlBreakIterator::getPartsIterator()

适用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8

函数描述:该函数用于创建一个用于迭代分隔的文本的迭代器对象,可以根据指定的规则将文本分割成单词、句子或其他指定的单元。

用法:

IntlBreakIterator::getPartsIterator ( string $rules [, string $text [, int $start = 0 [, int $end = NULL ]]] ) : IntlPartsIterator|false

参数:

  • $rules:必需,表示用于分割文本的规则。可以是标准的Unicode Text Segmentation规则,也可以是预定义的规则,如"line"(按行分割)或"grapheme"(按照Unicode图形群集分割)。
  • $text:可选,表示要分割的文本。如果未提供此参数,则需要在迭代器上调用IntlPartsIterator::setText()来设置文本。
  • $start:可选,表示要开始分割的位置索引。默认为0,表示从文本的开头开始。
  • $end:可选,表示要结束分割的位置索引。默认为NULL,表示直到文本的末尾。

返回值:

  • 如果成功创建迭代器,则返回一个IntlPartsIterator对象。
  • 如果创建迭代器失败,则返回false。

示例:

$breakIterator = IntlBreakIterator::getPartsIterator("grapheme", "Hello, 世界!");

foreach ($breakIterator as $part) {
    echo $part . PHP_EOL;
}

输出:

H
e
l
l
o
,
 
世
界
!

上述示例使用了IntlBreakIterator::getPartsIterator()函数,创建了一个按照Unicode图形群集分割的迭代器对象。然后,通过foreach循环遍历迭代器,将分割后的每个部分逐个打印出来。最终输出了"Hello, 世界!"被分割成了单个字符的结果。

补充纠错
热门PHP函数
分享链接