wwwd3v / name-parser-and-anonymizer
一个易于使用的名称解析器,具有高级且可配置的匿名化功能。
0.3.0
2018-06-03 18:59 UTC
Requires
- php: ^7.2
- symfony/options-resolver: ^4.0
Requires (Dev)
- phpunit/phpunit: ^7.1
This package is not auto-updated.
Last update: 2024-09-29 23:09:12 UTC
README
一个易于使用的名称解析器,具有高级且可配置的匿名化选项。
受欧盟GDPR的启发,此库在执行强制个人数据匿名化方面非常有用。
入门指南
先决条件
- PHP 7.2+
- Composer
安装
简单安装composer包
composer require wwwd3v/name-parser-and-anonymizer
然后,在代码的某个地方,创建一个NameParserAndAnonymizer类实例
use Wwwd3v\NameParserAndAnonymizer\NameParserAndAnonymizer; //... $parser = new NameParserAndAnonymizer();
解析和匿名化名称
简单名称
解析简单名称是微不足道的
$name = $parser->parse('John Steinbeck'); $name->getFirstName(); // 'John $name->getLastName(); // 'Steinbeck' (string) $name; // 'John Steinbeck'
然后匿名化名称就非常简单了
$name = $parser->parse('John Steinbeck')->anonymize(); $name->getFirstName(); // 'John $name->getLastName(); // 'S.' (string) $name; // 'John S.'
复合名称
中间名被解析出来并分组在一个数组中
$name = $parser->parse('John Ronald Reuel Tolkien'); $name->getFirstName(); // 'John $name->getMiddleNames(); // ['Ronald', 'Reuel'] $name->getLastName(); // 'Tolkien' (string) $name; // 'John Ronald Reuel Tolkien'
作为匿名化过程的一部分,中间名被删除
$name = $parser->parse('John Ronald Reuel Tolkien')->anonymize(); $name->getFirstName(); // 'John $name->getMiddleNames(); // [] $name->getLastName(); // 'T.' (string) $name; // 'John T.'
可选地,您可以决定保留或匿名化中间名(而不是丢弃它们)
$name = $parser->parse('John Ronald Reuel Tolkien')->anonymize([ 'middleNames' => 'keep', ]); (string) $name; // 'John Ronald Reuel T.'
$name = $parser->parse('John Ronald Reuel Tolkien')->anonymize([ 'middleNames' => 'anonymize', ]); (string) $name; // 'John R. R. T.'
边缘情况
过多的空白
所有过多的空白都会被自动删除。解析后的名称的字符串表示形式始终由一个单空格字符分隔
$name = $parser->parse(' John Ronald Reuel Tolkien '); $name->getFirstName(); // 'John $name->getMiddleNames(); // ['Ronald', 'Reuel'] $name->getLastName(); // 'Tolkien' (string) $name; // 'John Ronald Reuel Tolkien'
运行测试
只需运行本地的phpunit
./vendor/bin/phpunit
贡献
只需打开一个问题。我们将决定实现细节并一起完善拉取请求。
版本控制
我们使用SemVer进行版本控制。有关可用的版本,请参阅此存储库的标签。
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE.md文件。
致谢
- 欧洲联盟