函式名稱: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, 世界!"被分割成了單個字元的結果。