라이브러리

[PHP] Normalizer::normalize - 제공된 입력을 정규화하고 정규화된 문자열을 반환합니다.




Normalizer::normalize란?

PHP의 Normalizer::normalize 함수는 국제 문자 집합(Unicode) 문자열을 정규화하는 데 사용됩니다. 정규화란, 동일한 문자열을 여러 가지 방법으로 표현할 수 있는 국제 문자 집합 문자열을 동일한 문자열로 변환하는 것을 의미합니다.

예를 들어, 문자열 "café"는 "cafe"와 동일한 문자열을 나타내지만, 국제 문자 집합에서는 "café"를 "cafe"와 다르게 표현할 수 있습니다. Normalizer::normalize 함수를 사용하면 이러한 차이를 없애고 동일한 문자열로 변환할 수 있습니다.

Normalizer::normalize 함수의 종류

Normalizer::normalize 함수에는 여러 가지 종류가 있습니다. 가장 일반적으로 사용되는 종류는 다음과 같습니다.

- `NFC` (Normalization Form C): 이 종류는 가장 일반적으로 사용되는 정규화 종류입니다. 이 종류는 문자열을 정규화할 때, 디스플레이 문자열을 사용합니다.
- `NFD` (Normalization Form D): 이 종류는 NFC와 유사하지만, 디스플레이 문자열 대신, 구성 요소 문자열을 사용합니다.
- `NFKC` (Normalization Form KC): 이 종류는 NFC와 유사하지만, 형태소 문자열을 사용합니다.
- `NFKD` (Normalization Form KD): 이 종류는 NFD와 유사하지만, 형태소 문자열 대신, 구성 요소 문자열을 사용합니다.

예제

다음 예제는 Normalizer::normalize 함수를 사용하여 문자열 "café"를 정규화하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// 원본 문자열

$originalString = "café";



// NFC 정규화

$normalizedStringNFC = Normalizer::normalize($originalString, Normalizer::FORM_C);

echo "NFC 정규화: $normalizedStringNFC
";



// NFD 정규화

$normalizedStringNFD = Normalizer::normalize($originalString, Normalizer::FORM_D);

echo "NFD 정규화: $normalizedStringNFD
";



// NFKC 정규화

$normalizedStringNFKC = Normalizer::normalize($originalString, Normalizer::FORM KC);

echo "NFKC 정규화: $normalizedStringNFKC
";



// NFKD 정규화

$normalizedStringNFKD = Normalizer::normalize($originalString, Normalizer::FORM KD);

echo "NFKD 정규화: $normalizedStringNFKD
";



?>



이 예제에서는 원본 문자열 "café"를 NFC, NFD, NFKC, NFKD 정규화하는 방법을 보여줍니다. 결과는 다음과 같습니다.

#hostingforum.kr


NFC 정규화: café

NFD 정규화: cU0301afe

NFKC 정규화: café

NFKD 정규화: cU0301afe



이 예제에서 볼 수 있듯이, NFC 정규화는 원본 문자열과 동일한 결과를 반환합니다. NFD 정규화는 구성 요소 문자열을 사용하여 문자열을 정규화합니다. NFKC 정규화는 형태소 문자열을 사용하여 문자열을 정규화합니다. NFKD 정규화는 구성 요소 문자열을 사용하여 문자열을 정규화합니다.

결론

Normalizer::normalize 함수는 국제 문자 집합 문자열을 정규화하는 데 사용됩니다. 이 함수에는 여러 가지 종류가 있으며, 가장 일반적으로 사용되는 종류는 NFC, NFD, NFKC, NFKD입니다. 이 함수를 사용하여 문자열을 정규화할 때, 원본 문자열과 동일한 결과를 반환할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 371 페이지

검색

게시물 검색