查詢

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函式
分享連結