(PHP 5 >= 5.5.0, PHP 7, PHP 8)
Un "délimiteur de rupture" est un objet ICU qui expose des méthodes pour localiser des délimitations dans du texte (par exemple, des délimitations de mots ou de phrases). La classe IntlBreakIterator de PHP sert de classe de base pour tous les types de délimiteurs de rupture ICU. Lorsqu'une fonctionnalité supplémentaire est disponible, l'extension intl peut exposer le délimiteur de rupture ICU avec des sous-classes appropriées, telles que IntlRuleBasedBreakIterator ou IntlCodePointBreakIterator .
Cette classe implémente IteratorAggregate . Parcourir un
IntlBreakIterator produit des valeurs entières non
négatives représentant les emplacements successifs des délimitations de
texte, exprimées en tant que comptes d'unités de code UTF-8 (octets),
pris depuis le début du texte (qui a l'emplacement 0). Les clés
produites par l'itérateur forment simplement la séquence de nombres
naturels {0, 1, 2, ...}.
$type = IntlPartsIterator::KEY_SEQUENTIAL ): IntlPartsIterator 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
| Version | Description |
|---|---|
| 8.4.0 | Les constantes de classe sont désormais typées. |
| 8.0.0 | IntlBreakIterator implémente désormais IteratorAggregate . Avant, Traversable était implémentée à la place. |
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 -----