wikimedia/equivset

UTF-8字符的视觉等效集

1.7.0 2024-07-26 20:06 UTC

This package is auto-updated.

Last update: 2024-09-12 05:59:33 UTC


README

将“等效”或类似外观的字符(同形异义字符)映射,以防止欺骗。这与Unicode联盟的confusables.txt类似,但有显著的不同。confusables.txt列出了视觉上完全相同或几乎相同的字符对,例如,拉丁字母"A"和希腊字母"Α"(alpha)。这个列表要广泛得多,包括仅外观相似的字符对,例如,“S”和"$"。另一个区别是这个列表仅包括字母和标点符号。它不包括符号、表情符号或图形元素。

安装

使用composer:将以下内容添加到您的项目中的composer.json文件

{
  "require": {
     "wikimedia/equivset": "^1.0.0"
  }
}

然后运行 composer update

用法

use Wikimedia\Equivset\Equivset;

$equivset = new Equivset();

// Normalize a string
echo $equivset->normalize( 'sp00f' ); // SPOOF

// Get a single character.
if ( $equivset->has( 'ɑ' ) ) {
	$char = $equivset->get( 'ɑ' );
}
echo $char; // A

// Loop over entire set.
foreach ( $equivset as $char => $equiv ) {
	// Do something.
}

// Get the entire set.
$all = $equivset->all();

贡献

所有更改都应应用于./data/equivset.in。然后运行bin/console generate-equivset以在./dist中生成equivset的JSON、PHP和平文版本。

发布时,使用git log --format='* %s (%aN)' --topo-order更新HISTORY.md以一致地列出提交。