A light-weight library for extracting meta tags from URL or HTML content.
It allows you to:
- get all meta tags from URL or HTML content (including
title
,charset
, andhtml[lang]
attribute), - set custom cache provider for caching the results of web scraping (using PSR-16
Psr\SimpleCache\CacheInterface
), - set custom HTTP client for web scraping (using PSR-18
Psr\Http\Client\ClientInterface
),
This library can be considered as an extended alternative for get_meta_tags() function.
- PHP 8.1 or higher
- PHP DOM extension
composer require martinille/meta-tag-extraction
use MartinIlle\MetaTagExtraction\MetaTagExtraction;
$url = 'https://example.com';
$metaTagExtraction = new MetaTagExtraction();
$metaTags = $metaTagExtraction->extractFromUrl($url);
foreach ($metaTags as $tag) {
echo $tag->getName() . ': ' . $tag->getValue() . PHP_EOL;
}
/* output:
charset: utf-8
content-type: text/html; charset=utf-8
viewport: width=device-width, initial-scale=1
title: Example Domain
*/
- Extracting meta tags from HTML string: docs/MetaTagExtraction_html_example.php
- Extracting meta tags from a URL: docs/MetaTagExtraction_url_example.php
More examples: docs/index.md
Unit tests:
composer test
Unit tests with coverage:
composer test:coverage