donchev/email-extractor

从字符串或字符串数组中提取有效的电子邮件地址。包含一些辅助方法,如 sortAsc/sortDesc,unique,filterInclude/filterExclude,lowercase/uppercase。

1.0.1 2022-10-12 15:50 UTC

This package is auto-updated.

Last update: 2024-09-13 15:02:58 UTC


README

array 中提取来自 stringstring array 的所有有效电子邮件地址。此库还包括一些辅助方法来修改输出数组。

安装

composer require donchev/email-extractor

对象实例化

EmailExtractor 对象在其 __constructor() 方法中接受 2 个可选参数

  • array|null $filter 用于过滤匹配电子邮件的单词数组。如果不传递给构造函数,当调用 filterAsc()filterDesc() 时将使用空数组。
  • string|null $regex 匹配电子邮件地址的有效正则表达式。如果不传递给构造函数,将使用默认的内置正则表达式。(注意:除非您知道自己在做什么,否则建议使用内置正则表达式。)

简单用法

<?php

require_once __DIR__ . '/vendor/autoload.php';

$extractor = new EmailExtractor();

$content = file_get_contents("email.eml");

$emails = $extractor
    ->extract($content)
    ->export();

高级用法

<?php

require_once __DIR__ . '/vendor/autoload.php';

$filter = ['@gmail.com', 'allen']
$content = ["allen@yahoo.com, sample@gmail.com, test@mail.com", "mail@mail.me"];

$extractor = new EmailExtractor($filter);

$emails = $extractor
    ->extractAll($content)
    ->filterInclude()
    ->lower()
    ->unique()
    ->sortDesc()
    ->export();
输出
array (size=2)
  0 => string 'sample@gmail.com' (length=16)
  1 => string 'allen@yahoo.com' (length=16)

方法链设计模式

Email Exporter 库使用方法链。您应遵循以下简单规则

  • extract()extractAll() 方法 必须 首先调用。

否则,将抛出 EmailExtractorException

辅助方法

内置了一些辅助方法。这些方法可以在 extract()/extractAll() 之后调用。

方法

作者

Donchev

许可协议

MIT 许可协议 (MIT)

版权所有 (c) 2022 Donchev

特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人,免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许有权获得软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他方式,源于、因之或与此软件或其使用或任何其他行为有关。