Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-简单的HTMLDOM问题_Php_Dom_Simple Html Dom - Fatal编程技术网

PHP-简单的HTMLDOM问题

PHP-简单的HTMLDOM问题,php,dom,simple-html-dom,Php,Dom,Simple Html Dom,基本上,我是想从IMDB中找出有多少季,我怎么能基本上做这样的事情,而是让它只输出总共有多少,而不是只输出1 2 3 4 5如果节目有5个季节,如果它有10个季节,它将输出1 2 3 4 5 6 7 8 9 10,但我只希望它输出9如果系列有9个季节。我怎么能这样做 这是我当前的代码: $seasons = $_GET['seasons']; $url = 'http://www.imdb.com/title/'.$seasons.'/episodes'; $imdb_content = fi

基本上,我是想从IMDB中找出有多少季,我怎么能基本上做这样的事情,而是让它只输出总共有多少,而不是只输出1 2 3 4 5如果节目有5个季节,如果它有10个季节,它将输出1 2 3 4 5 6 7 8 9 10,但我只希望它输出9如果系列有9个季节。我怎么能这样做

这是我当前的代码:

$seasons = $_GET['seasons'];
$url = 'http://www.imdb.com/title/'.$seasons.'/episodes';

$imdb_content = file_get_contents($url);
$html = str_get_html($imdb_content);

//Grabbed Content
$p = $html->find('select[id="bySeason"] option',0)->plaintext;
$p1 = $html->find('select[id="bySeason"] option',1)->plaintext;
$p2 = $html->find('select[id="bySeason"] option',2)->plaintext;
$p3 = $html->find('select[id="bySeason"] option',3)->plaintext;
$p4 = $html->find('select[id="bySeason"] option',4)->plaintext;
$p5 = $html->find('select[id="bySeason"] option',5)->plaintext;
$p6 = $html->find('select[id="bySeason"] option',6)->plaintext;
$p7 = $html->find('select[id="bySeason"] option',7)->plaintext;
$p = $html->find('select[id="bySeason"] option',8)->plaintext;
$p = $html->find('select[id="bySeason"] option',9)->plaintext;
$p = $html->find('select[id="bySeason"] option',10)->plaintext;
$p = $html->find('select[id="bySeason"] option',11)->plaintext;
$p = $html->find('select[id="bySeason"] option',12)->plaintext;
$p = $html->find('select[id="bySeason"] option',13)->plaintext;
$p = $html->find('select[id="bySeason"] option',14)->plaintext;
$p = $html->find('select[id="bySeason"] option',15)->plaintext;
$p = $html->find('select[id="bySeason"] option',16)->plaintext;
$p = $html->find('select[id="bySeason"] option',17)->plaintext;
$p = $html->find('select[id="bySeason"] option',18)->plaintext;
$p = $html->find('select[id="bySeason"] option',19)->plaintext;
$p = $html->find('select[id="bySeason"] option',20)->plaintext;
$p = $html->find('select[id="bySeason"] option',21)->plaintext;
$p = $html->find('select[id="bySeason"] option',22)->plaintext;
$p = $html->find('select[id="bySeason"] option',23)->plaintext;
$p = $html->find('select[id="bySeason"] option',24)->plaintext;
$p = $html->find('select[id="bySeason"] option',25)->plaintext;
$p = $html->find('select[id="bySeason"] option',26)->plaintext;
$p = $html->find('select[id="bySeason"] option',27)->plaintext;
$p = $html->find('select[id="bySeason"] option',28)->plaintext;
$p = $html->find('select[id="bySeason"] option',29)->plaintext;
$p = $html->find('select[id="bySeason"] option',30)->plaintext;

//Content
$content = "";
$content.= $p;
$content.= $p1;
$content.= $p2;
$content.= $p3;
echo $content;

不知道我是否理解正确。下面是《权力的游戏》的简单统计

<?php 
include("simple_html_dom.php");

$url = 'http://www.imdb.com/title/tt0944947/episodes';

$imdb_content = file_get_contents($url);
$html = str_get_html($imdb_content);

foreach($html->find('select[id="bySeason"] option') as $season){
    $last_season = $season->plaintext;
}

echo $last_season;

它实际上非常简单:

echo count($html->find('#bySeason option'));

一个非常简单但很幼稚的方法是按相反的顺序(从30开始向下)进行检查,如果
$p
等于某个值,然后返回,我不知道从30开始如何解决任何问题,检查$p是否重新返回任何内容,并输出它根本没有帮助基本上就是我当前脚本所做的事情,
$p
只会被设置为真实值,如果该季节正确(如果不是真的,让我知道)?假设有9季。当脚本启动并检查30时,
$p
将为false(我猜是false还是空引号)。当它降到9时,突然
$p
是一个真实的值,因此您会重复该值并停止脚本。坦白说,更好的方法是使用一个带递增计数器的while循环,并在
$p
真实时继续,只要
$p
是错误的,你就打破并回应计数器-它将等于季节数。这是有意义的。我会看看我能做些什么来让它疯狂地工作,我读了很多手册,手册在我们的find()结尾,在brakcet put结束之前,-我想获得最后一场比赛,但我不明白没有它,这场比赛是如何进行的