Как получить год выпуска серии IMDb и год окончания?

Я пытался получить некоторую информацию со страницы серии IMDb, включая следующие данные:

  • название
  • Год выпуска \ Конец года (если существует)
  • Рейтинг
  • Сезоны (число)
  • продолжительность

Кажется, что страница включает год выпуска \ год окончания в 3 различных вариантах:

  1. Если серия все еще работает: (2018-)
  2. Если серия была только 1 год: (2018)
  3. Если серия закончилась через несколько лет: (2017-2018)

Пример HTML-кода:

<title>Collateral (TV Mini-Series 2018) - IMDb</title>

Мой код до сих пор:

         if(isset($_GET['imdb'])) {
if(isset($_POST['btnGetContent'])) {
$cUrl = curl_init();
curl_setopt($cUrl,CURLOPT_URL, "{$_POST['getContentUrl']}");
curl_setopt($cUrl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($cUrl,CURLOPT_HEADER, false);
$output = curl_exec($cUrl);
curl_close($cUrl);
$array = array();
if(preg_match('/<h1 itemprop="name"[^>]*>(.*?)\s+g*<\/h1>/',$output,$matches)) {
$array["title"] = htmlspecialchars(str_replace("&nbsp;","",$matches[1]));
}
if(preg_match('/TV Series \((\d{4})(?-:.*)\)/',$output,$matches)) {
$array["releaseYear"] = $matches[1];
}

Мы ценим любые предложения.

0

Решение

                        if(preg_match('/<title>.*?\((.*?)\).*?IMDb<\/title>/',$output,$matches)) {
//(YYYY-YYYY)
if(preg_match('/.*?(\d{4}).*?(\d{4})/',$matches[1],$match)) {
$array["releaseYear"] = $match[1];
$array["endYear"] = $match[2];
}
// (YYYY- )
else if(preg_match('/.*?(\d{4})./',$matches[1],$match)) {
$array["releaseYear"] = $match[1];
$array["endYear"] = "0";
}
// (YYYY)
else if(preg_match('/.*?(\d{4})/',$matches[1],$match)) {
$array["releaseYear"] = $match[1];
$array["endYear"] = $match[1];
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]