Internationalization grapheme_extract

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_extract — UTF-8로 인코딩되어야 하는 텍스트 버퍼에서 기본 자소 클러스터의 시퀀스를 추출하는 함수


설명

절차 스타일:

grapheme_extract(
    string $haystack,
    int $size,
    int $type = GRAPHEME_EXTR_COUNT,
    int $offset = 0,
    int &$next = null
): string|false
                

UTF-8로 인코딩되어야 하는 텍스트 버퍼에서 기본 자소 클러스터의 시퀀스를 추출하는 함수입니다.


매개변수

haystack
검색할 문자열입니다.
size
$extract_type을 기준으로 반환할 최대 항목 수.
type
$size 매개변수가 참조하는 단위 유형을 정의합니다.
  • GRAPHEME_EXTR_COUNT(기본값) - $size는 추출할 기본 자소 클러스터의 수입니다.
  • GRAPHEME_EXTR_MAXBYTES - $ size는 반환되는 최대 바이트 수입니다.
  • GRAPHEME_EXTR_MAXCHARS - $size는 반환되는 UTF-8 문자의 최대 수입니다.
offset
$haystack의 시작 위치(바이트) - 지정된 경우 0이거나 $haystack의 길이(바이트)보다 작거나 같은 양수 값이거나 $haystack의 끝에서 계산되는 음수 값이어야 합니다. $start가 UTF-8 문자의 첫 번째 바이트를 가리키지 않으면 시작 위치가 다음 문자 경계로 이동됩니다.
next
다음 시작 위치로 설정될 값에 대한 참조입니다. 호출이 반환되면 문자열 끝을 지나는 첫 번째 바이트 위치를 가리킬 수 있습니다.

반환 값

오프셋 $start에서 시작하여 지정된 $size 및 $extract_type을 준수하는 기본 자소 클러스터 경계에서 끝나는 문자열 또는 실패 시 false입니다.


변경 로그

버전 설명
7.1.0 음수 offset에 대한 지원이 추가되었습니다.

Examples

예제 #1 grapheme_extract() 예제

                  
<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1, GRAPHEME_EXTR_COUNT, 2));

?>
                  
                

위의 예는 다음을 출력합니다.

o%CC%88
                

기타