mdwheele/swotphp

识别属于学院或大学的电子邮件地址或域名。

1.0.1 2017-08-02 20:02 UTC

This package is auto-updated.

Last update: 2024-09-08 16:04:19 UTC


README

Build Status Latest Stable Version Total Downloads License

这是流行的 Ruby Gem "Swot" 的端口。因此,请不要向此存储库贡献数据。请将任何新的学术域名贡献给此包的 Ruby 版本,网址为 https://github.com/leereilly/swot。请遵循 Lee 的存储库上注明的 贡献指南

我将从上游域数据中拉取更改。

如果您有一个产品或服务并提供 学术折扣,审批过程中很可能有一些手动组件。也许 .edu 电子邮件地址会自动批准,因为至少在大多数情况下,它们与美国高等学府相关联。也许 .ac.uk 电子邮件地址会自动批准,因为它们肯定属于英国大学和学院。不幸的是,并非每个国家都有专门的教育顶级域 (TLD),许多学校使用 .com.net

Swot 是一个由社区驱动或众包的库,用于验证域名和电子邮件地址是否与合法的大学或学院相关联 - 更具体地说,是提供世界任何国家的大学后教育、研究生教育或其他任何类型后高等教育的学术机构。

安装

通过 Composer 安装。

"require": {
    "mdwheele/swotphp": "dev-master"
}

用法

开始使用 SwotPHP 最简单的方法是使用外观访问功能。然而,基实现以一个普通的 PHP 对象的形式存在,以便开发人员可以自行控制构建。实现注入了对 PHP Domain Parser 的依赖,这是一个基于 Public Suffix List 的 URL 解析器。

可能稍后添加特定于框架的外观/服务提供者。原生外观是对象如何实例化的好例子。

本地

require_once('vendor/autoload.php');

use SwotPHP\Facades\Native\Swot;

验证电子邮件地址

Swot::isAcademic('lreilly@stanford.edu')           # true
Swot::isAcademic('lreilly@strath.ac.uk')           # true
Swot::isAcademic('lreilly@soft-eng.strath.ac.uk')  # true
Swot::isAcademic('pedro@ugr.es')                   # true
Swot::isAcademic('lee@uottawa.ca')                 # true
Swot::isAcademic('lee@leerilly.net')               # false

验证域名

Swot::isAcademic('harvard.edu')              # true
Swot::isAcademic('www.harvard.edu')          # true
Swot::isAcademic('http://www.harvard.edu')   # true
Swot::isAcademic('http://www.github.com')    # false
Swot::isAcademic('http://www.rangers.co.uk') # false

查找学校名称

Swot::schoolName('lreilly@cs.strath.ac.uk') -> "University of Strathclyde"
Swot::schoolName('http://www.stanford.edu') -> "Stanford University"

已知问题

  • 缺乏从 Ruby 钩子的域名列表自动导入数据。
  • 该软件包存在一些结构性问题,源于 PHP 和 Ruby 的差异。当我有时间的时候,我想重点关注以下两个领域:
    1. 合并内部 API 流程的一些部分,同时保持公共接口。
    2. 实现访问公共后缀注册表的另一种方式。目前,该软件包可能会滥用一个优秀的 URL 解析器,我希望调查单独组件用于建模公共后缀注册表的规则集和算法的可能性。