public function get_sub_parse_doc($doc) { if (!$doc) { $this->log("get_sub_parse_doc() No doc", 'error'); return 0; } $tab = $doc->getElementById("table5"); if (!$tab) { $this->log("get_sub_parse_doc() No tab element", 'error'); return 0; } $tdArray = array(0 => null, 1 => 'num', 2 => 'title', 3 => 'amount', 4 => 'subtitles'); $list = array(); foreach ($tab->getElementsByTagName("tr") as $tr) { $ep = new wssubEpisode(); $count = 0; foreach ($tr->getElementsByTagName("td") as $td) { $count++; if (!$tdArray[$count]) { continue; } if ($tdArray[$count] == 'num') { $ep->set_num($td->textContent); } if ($tdArray[$count] == 'title') { $ep->set_title($td->textContent); } if ($tdArray[$count] == 'num') { $ep->set_num($this->extract_episode_number($td->textContent)); } if ($tdArray[$count] == 'subtitles') { foreach ($td->getElementsByTagName('a') as $a) { $sub = new wssubSubtitle(); $sub->set_id($this->extract_subtitle_id($a->getAttribute('href'))); $img_pool = $a->getElementsByTagName('img'); if (!$img_pool) { exit("No tag img for subtitle<br>"); } $img = $img_pool->item(0); if (!$img) { exit("No image for subtitle<br>"); } if ($img->hasAttribute('alt')) { $sub->set_lang($img->getAttribute('alt')); } $ep->add_sub($sub); } } } array_push($list, $ep); } return $list; }