PHP 大会日本 2024

Normalizer 类

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

简介

规范化是一个涉及将字符和字符序列转换为正式定义的基础表示的过程。当需要比较文本以进行排序和搜索时,此过程非常重要,但它也用于存储文本以确保文本以一致的表示形式存储。

Unicode 联盟定义了许多规范化形式,以反映应用程序的各种需求

  • 规范化形式 D (NFD) - 规范分解
  • 规范化形式 C (NFC) - 规范分解,然后是规范组合
  • 规范化形式 KD (NFKD) - 兼容分解
  • 规范化形式 KC (NFKC) - 兼容分解,然后是规范组合
不同的形式是根据对文本的一组转换来定义的,这些转换由算法和一组数据文件来表达。

类概要

class Normalizer {
/* 常量 */
public const int FORM_D;
public const int NFD;
public const int FORM_KD;
public const int NFKD;
public const int FORM_C;
public const int NFC;
public const int FORM_KC;
public const int NFKC;
public const int FORM_KC_CF;
public const int NFKC_CF;
/* 方法 */
public static getRawDecomposition(string $string, int $form = Normalizer::FORM_C): ?string
public static isNormalized(string $string, int $form = Normalizer::FORM_C): bool
public static normalize(string $string, int $form = Normalizer::FORM_C): string|false
}

预定义常量

以下常量定义了规范化器使用的规范化形式

Normalizer::FORM_C int
规范化形式 C (NFC) - 规范分解,然后是规范组合
Normalizer::FORM_D int
规范化形式 D (NFD) - 规范分解
Normalizer::NFD int

Normalizer::FORM_KC int
规范化形式 KC (NFKC) - 兼容分解,然后是规范组合
Normalizer::NFKC int

Normalizer::FORM_KC_CF int

Normalizer::FORM_KD int
规范化形式 KD (NFKD) - 兼容分解
Normalizer::NFKD int

Normalizer::NFC int

Normalizer::NFKC_CF int

变更日志

版本 描述
8.4.0 类常量现在已进行类型化。
8.0.0 Normalizer::NONE 已被移除。

目录

添加注释

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top