actinity / sanitiser
一个简单的电子邮件消毒器,用于清理常见的输入错误
1.2
2023-07-03 13:20 UTC
Requires
- php: ^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^6.0|^9.0
This package is auto-updated.
Last update: 2024-09-03 16:34:18 UTC
README
一个简单的类,用于修复电子邮件地址中的常见输入错误。
这个库接受一个字符串,并尝试将其转换为'干净的'电子邮件地址,而不包含任何可能导致其失败的无关杂项。
为什么我会使用它?
这个库是为了简化从文件和其他系统导入电子邮件地址而编写的,在这些系统中,之前尚未应用适当的消毒。例如,在Excel中提供的要添加到系统中的用户列表、从会议收集的电子邮件地址等。目的是足够好,以修复99%的常见错误,让您只需关注那些肯定失败的。
它做什么?
捕获并'修复'各种常见问题,如
- 尾随的分号、逗号等
- 前导或尾随空格(包括零宽度空格)
- 用引号或尖括号包裹的地址
- 用尖括号包裹的地址(丢弃其他内容,如姓名)
- 拒绝明显损坏的地址,如
test
、test@
、test@.
等。
它不做什么
- 显然,它不能验证电子邮件地址/域名/邮件服务器是否存在或可以工作。测试电子邮件地址的唯一方法是实际发送到它。任何告诉您其他方法的人都在卖东西。
- 为每个可能的RFC兼容电子邮件地址工作 - 技术上允许您做的事情有很多,您在现实生活中不太可能遇到。例如,
me@localhost
- 保证它与用户的意图匹配(例如,如果有多个电子邮件地址列出,它只会选择第一个。这是正确的吗? ¯\(ツ)/¯)
如何使用它。
use Actinity\Sanitiser\Sanitiser;
$address = Sanitiser::clean($address)
clean()
返回一个干净的地址,如果看起来无法修复,则返回false。