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 -----IntlBreakIterator
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
IntlBreakIterator
Референца за `class.intlbreakiterator.php` со подобрена типографија и навигација.
Класата IntlBreakIterator
Распакување на вгнездени низи
Вовед
„Итератор за прекин“ е ICU објект што изложува методи за лоцирање граници во текст (на пр. граници на зборови или реченици). PHP IntlBreakIterator служи како основна класа за сите типови ICU итератори за прекин. Каде што е достапна дополнителна функционалност, екстензијата intl може да го изложи ICU итераторот за прекин со соодветни подкласи, како што се IntlRuleBasedBreakIterator or IntlCodePointBreakIterator.
Оваа класа имплементира IteratorAggregate. Поминување низ
IntlBreakIterator дава не-негативни цели броеви што ги претставуваат последователните локации на границите на текстот, изразени како броеви на UTF-8 кодни единици (бајти), земени од почетокот на текстот (што има локација 0). Клучевите што ги дава итераторот едноставно ја формираат низата од природни броеви
{0, 1, 2, …}.
Синопсис на класата
Претходно дефинирани константи
-
IntlBreakIterator::DONEint -
IntlBreakIterator::WORD_NONEint -
IntlBreakIterator::WORD_NONE_LIMITint -
IntlBreakIterator::WORD_NUMBERint -
IntlBreakIterator::WORD_NUMBER_LIMITint -
IntlBreakIterator::WORD_LETTERint -
IntlBreakIterator::WORD_LETTER_LIMITint -
IntlBreakIterator::WORD_KANAint -
IntlBreakIterator::WORD_KANA_LIMITint -
IntlBreakIterator::WORD_IDEOint -
IntlBreakIterator::WORD_IDEO_LIMITint -
IntlBreakIterator::LINE_SOFTint -
IntlBreakIterator::LINE_SOFT_LIMITint -
IntlBreakIterator::LINE_HARDint -
IntlBreakIterator::LINE_HARD_LIMITint -
IntlBreakIterator::SENTENCE_TERMint -
IntlBreakIterator::SENTENCE_TERM_LIMITint -
IntlBreakIterator::SENTENCE_SEPint -
IntlBreakIterator::SENTENCE_SEP_LIMITint
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 | Константите на класата сега се типизирани. |
| 8.0.0 | IntlBreakIterator implements IteratorAggregate сега. Претходно, Траверзабилно беше имплементирано наместо тоа. |
Содржина
- IntlBreakIterator::__construct — Приватен конструктор за забрана на инстанцирање
- IntlBreakIterator::createCharacterInstance — Транслитерирај низа
- IntlBreakIterator::createCodePointInstance — Создади итератор за граници на комбинирачки низи од знаци
- IntlBreakIterator::createLineInstance — Создади итератор за граници на точки на код
- IntlBreakIterator::createSentenceInstance — Создај итератор за паузи за реченици
- IntlBreakIterator::createTitleInstance — Создај итератор за паузи за насловни букви
- IntlBreakIterator::createWordInstance — Создај итератор за паузи за зборови
- IntlBreakIterator::current — Земи го индексот на тековната позиција
- IntlBreakIterator::first — Постави ја позицијата на првиот знак во текстот
- IntlBreakIterator::following — Помести го итераторот до првата граница по дадениот офсет
- IntlBreakIterator::getErrorCode — Земете го последниот код за грешка на објектот
- IntlBreakIterator::getErrorMessage — Земете ја последната порака за грешка на објектот
- IntlBreakIterator::getLocale — Земи го локалот поврзан со објектот
- IntlBreakIterator::getPartsIterator — Создај итератор за навигација низ фрагменти помеѓу границите
- IntlBreakIterator::getText — Земи го текстот што се скенира
- IntlBreakIterator::isBoundary — Кажи дали офсет е офсет на граница
- IntlBreakIterator::last — Постави ја позицијата на итераторот на индекс надвор од последниот знак
- IntlBreakIterator::next — Помести го итераторот до следната граница
- IntlBreakIterator::preceding — Постави ја позицијата на итераторот на првата граница пред офсет
- IntlBreakIterator::previous — Постави ја позицијата на итераторот на границата непосредно пред тековната
- IntlBreakIterator::setText — Постави го текстот што се скенира