wikimedia / equivset
UTF-8字符的视觉等效集
1.7.0
2024-07-26 20:06 UTC
Requires
- php: >=7.4.3
Requires (Dev)
- ext-json: *
- mediawiki/mediawiki-codesniffer: 43.0.0
- mediawiki/mediawiki-phan-config: 0.14.0
- mediawiki/minus-x: 1.1.3
- mikey179/vfsstream: ^1.6
- ockcyp/covers-validator: 1.6.0
- php-parallel-lint/php-console-highlighter: 1.0.0
- php-parallel-lint/php-parallel-lint: 1.4.0
- phpunit/phpunit: 9.6.16
- rregeer/phpunit-coverage-check: ~0.3.1
- symfony/console: ^3.3 || ^4 || ^5 || ^6
- symfony/var-dumper: ^3.3 || ^4 || ^5 || ^6
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以一致地列出提交。