私はスイッチ付きのこのプログラムを持っています:
$htmlContent = file_get_contents('http://somesite.com');
$htmlDOM->loadHTML( $htmlContent );
$htmlXPath = new DOMXPath( $htmlDOM );
for($i = 0; $i <= 16; $i++ ) {
switch($i) {
case 0:
$link = utf8_decode($htmlXPath->query('/html/body/div[2]/div[2]/div/div/div/div/div[2]/div/a')->item(0)->getAttribute('href'));
break;
case 1:
$link = utf8_decode($htmlXPath->query('/html/body/div[2]/div[2]/div/div/div/div/ul/li/div/a')->item(0)->getAttribute('href'));
break;
default:
$link = utf8_decode($htmlXPath->query('/html/body/div[2]/div[2]/div/div/div/div/ul/li[' . $i . ']/div/a')->item(0)->getAttribute('href'));
break;
}
}
ケース0とケース1の場合、期待どおりに機能しますが、デフォルトでは次のエラーがスローされます。
PHP Fatal error: Call to a member function getAttribute() on a non-object
$ iが原因で発生することは想像できますが、どうすればこの問題を解決できますか?
手伝ってくれてありがとう!