balpom/links-extractor

从字符串中提取所有链接(扩展 PSR-13 格式)。

v1.1.2 2024-05-29 14:57 UTC

This package is auto-updated.

Last update: 2024-09-29 15:39:28 UTC


README

从字符串中提取所有链接,并以扩展 PSR-13 格式提供。

此提取器从给定字符串(或 PSR-7 响应对象)中提取所有 HTTP 链接,并以 Balpom\WebLink\EvolvableWebLinkInterface 格式(扩展 Psr\Link\EvolvableLinkInterface (https://www.php-fig.org/psr/psr-13/)格式)作为 Psr\Link\LinkProviderInterface 格式(集合)提供(另请参阅 https://www.php-fig.org/psr/psr-13/)。

要求

  • PHP >= 8.1

安装

使用 composer(推荐)

composer require balpom/links-extractor

如何使用

此包中有两种提取器实现:Balpom\LinksExtractor\SimpleExtractor 和 Balpom\LinksExtractor\Extractor

SimpleExtractor 使用示例

$css = 'div.cls1{background-image:url(/image-file-1.jpg);}
span.cls2{background-image:url(/image-file-2.png);}';

$extractor = new SimpleExtractor($css, 'text/css');
$linksProvider = $extractor->extract();
print_r($linksProvider->getLinks());
$html = '<a href="/page.html">ABC</a><a href="/page.html">XYZ</a>
<img src="/image-file-3.gif"><div>Else one <img src="/image-file-3.gif"></div>';

$extractor = new SimpleExtractor($html, 'text/html');
$linksProvider = $extractor->extract();
print_r($linksProvider->getLinks());

Extractor 也可以作为 SimpleExtractor 使用,但构造函数参数为 Psr\Http\Message\ResponseInterface 对象(https://www.php-fig.org/psr/psr-7/),而不是字符串。

许可证

MIT 许可证 查看 LICENSE.MD