函数名称: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, 世界!"被分割成了单个字符的结果。