find()はid/classが与えられたときにdomノード要素を返さなければならないsimple_html_domライブラリの関数です。単純なhtml domは、find(id)のスラッシュを処理できません。
$urlFetched->find("#".$id)
は、$ idが "fk-list-MP3-Players -/- iPod"の場合、常に何かを見つけて返しません。私は他のidsとurl(snipped)に問題はないので、問題はスラッシュとsimple_html_domであると推測しています。 私は何をしますか?私のプログラムはほぼ完成しており、単純なhtml domに依存しています。
おかげ
コード:
$urlAndIds = array(
array("http://www.flipkart.com/audio" , array('fk-list-Home-Audio', htmlentities("fk-list-MP3-Players-/-IPods"), 'fk-list-Accessories'),array('ALL','AllBrands')));
foreach($urlAndIds as $uAI) {
$url = file_get_contents($uAI[0]) ;
$urlFetched = str_get_html($url) ;
if ($url == false){
echo 'page '.$uAI[0] . " not found" ."<br>" ."<br>";
} else {
foreach ($uAI[1] as $id) {
$idFound = $urlFetched->find("#".$id) ;
if(!$idFound) {
echo 'In page '.$uAI[0].' -id not found- '.$id ."<br>";
}
}
}
}
IDにスラッシュを入れることはできませんでしたか? –