hazaveh / php-link-preview
PHP 链接预览库
1.0.4
2023-12-20 21:49 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^6.1|^7.1
- symfony/css-selector: ^3.0|^4.0|^5.0|^6.0|^7.0
- symfony/dom-crawler: ^3.0|^4.0|^5.0|^6.0|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.28
- pestphp/pest: ^2.19
- phpstan/phpstan: ^1.10
README
PHP 链接预览
PHP 链接预览是一个小巧的库,它可以爬取并返回 URL 的 OG & Meta 标签。这可以在您的应用程序中使用,以显示与在社交媒体网站或 WhatsApp 中粘贴链接时类似的内容预览。
当前信息
title
: 开放图标题,如果未找到则返回页面标题description
: 开放图描述,如果未找到则返回元标签中的页面描述image
: 开放图图片icon
: 网站图标(如果 HTML 源中明确指定了图标)
依赖
- PHP >= 8.2
- Guzzle >= 6
- Symfony DomCrawler >= 3.0
- Symfony CssSelector >= 3.0
安装
只需通过 composer 运行即可
composer require hazaveh/php-link-preview
用法
创建一个 Client 实例,并使用 parse
方法来爬取 URL。
use Hazaveh\LinkPreview\Client; require_once 'vendor/autoload.php'; $client = new Client(); /** * Returns an instance of Hazaveh\LinkPreview\Model\Link * {title, description, image, icon, locale} */ $preview = $client->parse("https://hazaveh.net/2023/07/re-inventing-bookmarks-for-teams/");
使用自定义解析器
默认情况下,此库附带一个解析器,该解析器使用包含的提取类从页面中提取不同信息。您始终可以使用实现 ParserInterface
的自定义解析器,并拥有从页面中提取信息的自定义逻辑。
您还可以自由使用自定义链接类,这样就可以在解析过程中包含您可能想要从网站解析的附加信息。
class CustomParser implements ParserInterface { public function parse(string $url): Link { return new Link(url: $url); } } $client = new Client(new CustomParser());
贡献
做一些酷的事情并添加一个 PR。