Я пытался получить некоторую информацию со страницы серии IMDb, включая следующие данные:
Кажется, что страница включает год выпуска \ год окончания в 3 различных вариантах:
Пример 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(" ","",$matches[1]));
}
if(preg_match('/TV Series \((\d{4})(?-:.*)\)/',$output,$matches)) {
$array["releaseYear"] = $matches[1];
}
Мы ценим любые предложения.
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];
}
}
Других решений пока нет …