PHP Velho Oeste 2024

The IntlCodePointBreakIterator class

(PHP 5 >= 5.5.0, PHP 7)

Introducere

This break iterator identifies the boundaries between UTF-8 code points.

Sinopsisul clasei

IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable {
/* Constante moștenite */
const int IntlBreakIterator::DONE = -1 ;
const int IntlBreakIterator::WORD_KANA = 300 ;
const int IntlBreakIterator::WORD_IDEO = 400 ;
const int IntlBreakIterator::LINE_HARD = 100 ;
/* Metode */
public getLastCodePoint ( ) : int
/* Metode moștenite */
public static IntlBreakIterator::createCharacterInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createLineInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createSentenceInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createTitleInstance ( string $locale = ? ) : IntlBreakIterator
public static IntlBreakIterator::createWordInstance ( string $locale = ? ) : IntlBreakIterator
public IntlBreakIterator::current ( ) : int
public IntlBreakIterator::first ( ) : int
public IntlBreakIterator::following ( int $offset ) : int
intl_get_error_code ( ) : int
intl_get_error_message ( ) : string
public IntlBreakIterator::getLocale ( string $locale_type ) : string
public IntlBreakIterator::getPartsIterator ( int $key_type = IntlPartsIterator::KEY_SEQUENTIAL ) : IntlPartsIterator
public IntlBreakIterator::getText ( ) : string
public IntlBreakIterator::isBoundary ( int $offset ) : bool
public IntlBreakIterator::last ( ) : int
public IntlBreakIterator::next ( int $offset = ? ) : int
public IntlBreakIterator::preceding ( int $offset ) : int
public IntlBreakIterator::previous ( ) : int
public IntlBreakIterator::setText ( string $text ) : bool
}

Cuprins

add a note add a note

User Contributed Notes 1 note

up
0
Matt Kynx
1 year ago
An example of using this to find all the code points in a string that cannot be transliterated to Latin-ASCII:

<?php

$string
= "Народm, Intl gurus get paid €10000/hr 😁";

$latinAscii = Transliterator::create('NFC; Any-Latin; Latin-ASCII;');
$transliterated = $latinAscii->transliterate($string);

$codePoints = IntlBreakIterator::createCodePointInstance();
$codePoints->setText($transliterated);

foreach (
$codePoints->getPartsIterator() as $char) {
   
$ord = IntlChar::ord($char);
    if (
255 < $ord) {
        echo
IntlChar::charName($ord) . "\n";
    }
}
?>

Outputs:
EURO SIGN
GRINNING FACE WITH SMILING EYES
To Top