W3cubDocs

/PHP

The IntlBreakIterator class

Introduction

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

A “break iterator” is an ICU object that exposes methods for locating boundaries in text (e.g. word or sentence boundaries). The PHP IntlBreakIterator serves as the base class for all types of ICU break iterators. Where extra functionality is available, the intl extension may expose the ICU break iterator with suitable subclasses, such as IntlRuleBasedBreakIterator or IntlCodePointBreakIterator.

This class implements IteratorAggregate. Traversing an IntlBreakIterator yields non-negative integer values representing the successive locations of the text boundaries, expressed as UTF-8 code units (byte) counts, taken from the beginning of the text (which has the location 0). The keys yielded by the iterator simply form the sequence of natural numbers {0, 1, 2, …}.

Class synopsis

class IntlBreakIterator implements IteratorAggregate {
/* Constants */
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;
/* Methods */
private __construct()
public static createCharacterInstance(?string $locale = null): ?IntlBreakIterator
public static createCodePointInstance(): IntlCodePointBreakIterator
public static createLineInstance(?string $locale = null): ?IntlBreakIterator
public static createSentenceInstance(?string $locale = null): ?IntlBreakIterator
public static createTitleInstance(?string $locale = null): ?IntlBreakIterator
public static createWordInstance(?string $locale = null): ?IntlBreakIterator
public current(): int
public first(): int
public following(int $offset): int
public getErrorCode(): int
public getErrorMessage(): string
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
}

Predefined Constants

IntlBreakIterator::DONE int
IntlBreakIterator::WORD_NONE int
IntlBreakIterator::WORD_NONE_LIMIT int
IntlBreakIterator::WORD_NUMBER int
IntlBreakIterator::WORD_NUMBER_LIMIT int
IntlBreakIterator::WORD_LETTER int
IntlBreakIterator::WORD_LETTER_LIMIT int
IntlBreakIterator::WORD_KANA int
IntlBreakIterator::WORD_KANA_LIMIT int
IntlBreakIterator::WORD_IDEO int
IntlBreakIterator::WORD_IDEO_LIMIT int
IntlBreakIterator::LINE_SOFT int
IntlBreakIterator::LINE_SOFT_LIMIT int
IntlBreakIterator::LINE_HARD int
IntlBreakIterator::LINE_HARD_LIMIT int
IntlBreakIterator::SENTENCE_TERM int
IntlBreakIterator::SENTENCE_TERM_LIMIT int
IntlBreakIterator::SENTENCE_SEP int
IntlBreakIterator::SENTENCE_SEP_LIMIT int

Changelog

Version Description
8.4.0 The class constants are now typed.
8.0.0 IntlBreakIterator implements IteratorAggregate now. Previously, Traversable was implemented instead.

Table of Contents

© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/class.intlbreakiterator.php