lukaswhite / php-meta-tags-parser
一个用于解析HTML文档中元标签的PHP包
0.0.1
2021-12-04 08:50 UTC
Requires
- voku/simple_html_dom: ^4.7
Requires (Dev)
- phpunit/php-code-coverage: ^9.2
- phpunit/phpunit: ^9.5
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()
方法。