Internationalization IntlBreakIterator 클래스

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


소개

"중단 반복기"는 텍스트에서 경계(예: 단어 또는 문장 경계)를 찾는 방법을 노출하는 ICU 개체입니다. PHP IntlBreakIterator는 모든 유형의 ICU 중단 반복기의 기본 클래스 역할을 합니다. 추가 기능을 사용할 수 있는 경우 intl 확장은 IntlRuleBasedBreakIterator 또는 IntlCodePointBreakIterator와 같은 적절한 하위 클래스가 있는 ICU 중단 반복기를 노출할 수 있습니다.

이 클래스는 IteratorAggregate를 구현합니다. IntlBreakIterator를 순회하면 텍스트 경계의 연속 위치를 나타내는 음수가 아닌 정수 값이 생성되며, UTF-8 코드 단위(바이트) 카운트로 표현되는 텍스트의 시작 부분(위치가 0임)에서 가져옵니다. 반복자에 의해 생성된 키는 단순히 자연수 {0, 1, 2, …}의 시퀀스를 형성합니다.


클래스 개요

class IntlBreakIterator implements IteratorAggregate {
  /* Constants */
  const int DONE = -1;
  const int WORD_NONE = 0;
  const int WORD_NONE_LIMIT = 100;
  const int WORD_NUMBER = 100;
  const int WORD_NUMBER_LIMIT = 200;
  const int WORD_LETTER = 200;
  const int WORD_LETTER_LIMIT = 300;
  const int WORD_KANA = 300;
  const int WORD_KANA_LIMIT = 400;
  const int WORD_IDEO = 400;
  const int WORD_IDEO_LIMIT = 500;
  const int LINE_SOFT = 0;
  const int LINE_SOFT_LIMIT = 100;
  const int LINE_HARD = 100;
  const int LINE_HARD_LIMIT = 200;
  const int SENTENCE_TERM = 0;
  const int SENTENCE_TERM_LIMIT = 100;
  const int SENTENCE_SEP = 100;
  const int SENTENCE_SEP_LIMIT = 200;
  /* 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
  intl_get_error_code(): int
  public getErrorMessage(): string|false
  intl_get_error_message(): string
  public getLocale(int $type): string
  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
}
                

미리 정의된 상수

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

변경로그

버전 설명
8.0.0 IntlBreakIterator는 이제 IteratorAggregate를 구현합니다. 이전에는 Traversable이 대신 구현되었습니다.

목차