Класс IntlBreakIterator

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

Введение

Итератор прерывания (Break iterator) - это объект ICU предоставляющий методы для определения границ в тексте (например границы слова или предложения). В PHP класс IntlBreakIterator служит базовым классом для всех типов итераторов прерывания ICU. Есть и дополнительная функциональность, модуль intl может расширять этот класс подходящими подклассами, такими как IntlRuleBasedBreakIterator или IntlCodePointBreakIterator.

Этот класс реализует интерфейс 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 function __construct()
public static function createCharacterInstance(?string $locale = null): ?IntlBreakIterator
public static function createLineInstance(?string $locale = null): ?IntlBreakIterator
public static function createSentenceInstance(?string $locale = null): ?IntlBreakIterator
public static function createTitleInstance(?string $locale = null): ?IntlBreakIterator
public static function createWordInstance(?string $locale = null): ?IntlBreakIterator
public function current(): int
public function first(): int
public function following(int $offset): int
public function getErrorCode(): int
public function getErrorMessage(): string
public function getLocale(int $type): string|false
public function getText(): ?string
public function isBoundary(int $offset): bool
public function last(): int
public function next(?int $offset = null): int
public function preceding(int $offset): int
public function previous(): int
public function setText(string $text): bool
}

Список изменений

Версия Описание
8.4.0 Константы класса стали типизированными.
8.0.0 Класс IntlBreakIterator теперь реализует интерфейс IteratorAggregate. Раньше вместо этого класс реализовывал интерфейс Traversable.

Содержание