Thanks to visit codestin.com
Credit goes to www.php.net

update page now

The IntlBreakIterator class

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

Einführung

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, …}.

Klassenbeschreibung

class IntlBreakIterator implements IteratorAggregate {
/* Konstanten */
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;
/* Methoden */
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
}

Changelog

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

Inhaltsverzeichnis

add a note

User Contributed Notes 1 note

up
14
SenseException
12 years ago
Since there is no excample for the usage of the IntlBreakIterator yet, I made a small one:

<?php

$text = "Si contano i danni. Un morto a Roma, un treno ".
"deragliato e quattro feriti a Foggia, strade chiuse in tutto ".
"il sud, allagamenti e danni sulla costa ionica. A Pescara, ".
"1.500 sfollati per l'esondazione del Fosso Vallelunga. ".
"Dall'inizio dell'anno l'agricoltura ha subito un miliardo ".
"di euro di danni.";

$locale = 'it_IT';

$i = IntlBreakIterator::createSentenceInstance($locale);
$i->setText($text);

foreach($i->getPartsIterator() as $sentence) {
    echo $sentence . PHP_EOL . '----- next -----' .  PHP_EOL;
}

?>

Result:

Si contano i danni. 
----- next -----
Un morto a Roma, un treno deragliato e quattro feriti a Foggia, strade chiuse in tutto il sud, allagamenti e danni sulla costa ionica. 
----- next -----
A Pescara, 1.500 sfollati per l'esondazione del Fosso Vallelunga. 
----- next -----
Dall'inizio dell'anno l'agricoltura ha subito un miliardo di euro di danni.
----- next -----
To Top