hazaveh/php-link-preview

PHP 链接预览库

1.0.4 2023-12-20 21:49 UTC

This package is auto-updated.

Last update: 2024-09-24 23:05:59 UTC


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。