# Scrape Website Title
Scraping the title from a website is simple. The following examples show how it works using PHPScraper.
# Simple Example
Very simple example of how to scrape the title of a website:
$web = new \Spekulatius\PHPScraper\PHPScraper;
// Navigate to the test page - this one does contain a title-tag "Lorem Ipsum"
$web->go('https://test-pages.phpscraper.de/meta/lorem-ipsum.html');
/**
* Contains:
*
* <title>Lorem Ipsum</title>
*/
// Fetch the title. This will return: "Lorem Ipsum"
var_dump($web->title);
# Missing Title
null
will be returned if the title is missing:
$web = new \Spekulatius\PHPScraper\PHPScraper;
// Navigate to the test page - this one doesn't contain a title-tag.
$web->go('https://test-pages.phpscraper.de/meta/missing.html');
// Fetch the title. This will return null.
var_dump($web->title);
Note: This is the default behaviour: If a tag wasn't found because it's missing in the source HTML, null
will be returned. If an iteratable item is empty (e.g. scraping images from a page without images), an empty array will be returned.
# Special Characters
Load a website title with German Umlaute
$web = new \Spekulatius\PHPScraper\PHPScraper;
/**
* Navigate to the test page. It contains:
*
* <title>A page with plenty of German umlaute everywhere (ä ü ö)</title>
*/
$web->go('https://test-pages.phpscraper.de/meta/german-umlaute.html');
// Print the title: "A page with plenty of German umlaute everywhere (ä ü ö)"
echo $web->title;
It should work similarly with any UTF-8 characters.
# HTML Entities
HTML Entities should be resolved
$web = new \Spekulatius\PHPScraper\PHPScraper;
/**
* Navigate to the test page. Contains:
*
* <title>Cat & Mouse</title>
*/
$web->go('https://test-pages.phpscraper.de/meta/html-entities.html');
// Print the title: "Cat & Mouse"
echo $web->title;
TIP
Entities and special characters have been considered throughout the library. If you find a place where these don't work as expected, please raise an issue (opens new window).