PHPのお勉強!

PHP TOP

IntlBreakIterator クラス

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

はじめに

“break iterator” は、 テキスト中のどこに境界 (たとえば、単語や文章の境目) が位置するのかに関するメソッドを公開しています。 PHP の IntlBreakIterator は、 全ての break iterator の基底クラスになります。 追加の機能が利用可能な場合は、 intl 拡張モジュールは適切なサブクラスを公開しています。 たとえば、 IntlRuleBasedBreakIteratorIntlCodePointBreakIterator です。

このクラスは、 IteratorAggregate も実装しています。 IntlBreakIterator を走査すると、 テキストに存在する連続する境界を示す、 負でない整数値を返します。 これは、UTF-8 のコード単位(バイト) の数として表現され、 テキストの最初 (これは、位置 0 になります) から取得されます。 イテレータによって返されるキーは、 {0, 1, 2, …} のように、自然数の順序に並びます。

クラス概要

class IntlBreakIterator implements IteratorAggregate {
/* 定数 */
public const int DONE;
public const int WORD_NONE;
public const int WORD_NONE_LIMIT;
public const int WORD_NUMBER;
public const int WORD_NUMBER_LIMIT;
public const int WORD_LETTER;
public const int WORD_LETTER_LIMIT;
public const int WORD_KANA;
public const int WORD_KANA_LIMIT;
public const int WORD_IDEO;
public const int WORD_IDEO_LIMIT;
public const int LINE_SOFT;
public const int LINE_SOFT_LIMIT;
public const int LINE_HARD;
public const int LINE_HARD_LIMIT;
public const int SENTENCE_TERM;
public const int SENTENCE_TERM_LIMIT;
public const int SENTENCE_SEP;
public const int SENTENCE_SEP_LIMIT;
/* メソッド */
private __construct()
public current(): int
public first(): int
public following(int $offset): int
public getErrorCode(): int
public getLocale(int $type): string|false
public getPartsIterator(string $type = IntlPartsIterator::KEY_SEQUENTIAL): IntlPartsIterator
public getText(): ?string
public isBoundary(int $offset): bool
public last(): int
public next(?int $offset = null): int
public preceding(int $offset): int
public previous(): int
public setText(string $text): bool
}

変更履歴

バージョン 説明
8.0.0 IntlBreakIterator は、 IteratorAggregate を実装しました。 これより前のバージョンでは、 Traversable を代わりに実装していました。