lukaswhite/php-meta-tags-parser

一个用于解析HTML文档中元标签的PHP包

0.0.1 2021-12-04 08:50 UTC

This package is auto-updated.

Last update: 2024-09-04 15:42:09 UTC


README

从网页内容中提取元数据(标题、描述、Open Graph等)。

请注意,此库仅处理原始HTML,而不是试图将您限制在一种特定方法来检索外部URL的内容。(我通常使用Guzzle,但将其作为依赖项可能会在版本管理方面造成困难。)

安装

composer require lukaswhite/php-meta-tags-parser

使用方法

use Lukaswhite\MetaTagsParser\Parser;

$html = '<html><head>...</head></html>';

$parser = new Parser();
$result = $parser->parse($html);

使用结果

parse()方法返回一个对象,该对象封装了从提供的HTML中提取的任何页面数据。

$result->getTitle();
$result->getDescription();
$result->getKeywords();
$result->getUrl();
$result->getFacebookAppId();

$result->openGraph()->getSiteName();
$result->openGraph()->getType();
$result->openGraph()->getTitle();
$result->openGraph()->getDescription();
$result->openGraph()->getLocale();
$result->openGraph()->getImages(); // returns an array of URLs
$result->openGraph()->getLatitude();
$result->openGraph()->getLongitude();
$result->openGraph()->getAltitude();

$result->toArray(); // all of the extracted metadata

它还会提取RSS和/或Atom馈送;getFeeds()返回一个包含Feed类实例的数组

$feed->getType(); // Feed::RSS or Feed::ATOM
$feed->isRSS();
$feed->isAtom();
$feed->getUri();
$feed->getTitle();

getFeeds()方法接受一个可选的$type参数,用于选择一个或另一个

$result->getFeeds(Feed::RSS);
// or
$result->getFeeds(Feed::ATOM);

数据清理

该软件包附带了一个非常简单的字符串清理器;基本上它只是解码任何HTML实体。您可以使用自己的清理器;只需实现CleansesStrings接口,并将实例提供给解析器的构造函数。它只需要提供一个接受字符串并返回清理后版本的run()方法。

数据净化

该软件包附带了一个非常简单的字符串净化器;底层它只是使用strip_tags()函数。如果您想提供自己的净化器,只需实现SanitizesStrings接口,并将实例提供给解析器的构造函数。它只需要提供一个接受字符串并返回净化后版本的run()方法。