function outputScrape($url) { $returnvalue = ""; $data1 = preg_replace('#(<\\/ul>\\s*)+#i', '</ul>', scrapePage($url)); $data1a = str_replace('files//', 'http://resources21.org/cl/files/', $data1); $data2 = preg_replace(array('/<head>(.*)<\\/head>/iUs', '/<html>/', '/<\\/html>/', '/<body>/', '/<\\/body>/', '/<\\/td><td>/'), "", $data1a); $returnvalue .= '<div id="lessonplan-content">'; $doc = new DOMDocument(); $doc->loadHTML($data2); libxml_use_internal_errors(false); $xpath = new DOMXpath($doc); $elements = $xpath->query('//ul'); $elementsh = $xpath->query("//*[@class='secHed']"); $header = array(); if (!is_null($elementsh)) { foreach ($elementsh as $elementh) { $header[] = "<h3>" . $elementh->nodeValue . "</h3>"; } } if (!is_null($elements)) { $i = 0; foreach ($elements as $element) { $returnvalue .= '<div id="' . $element->getAttribute('id') . '">' . $header[$i] . "<ul>"; $nodes = $element->childNodes; foreach ($nodes as $node) { $returnvalue .= '<li>' . innerXML($node) . "</li>\n"; } $returnvalue .= "</ul></div>"; $i++; } $returnvalue .= "</div>"; } // $returnvalue = "<[CDATA[ " . $returnvalue ." ]]>"; return $returnvalue; }
function timetable($route, $stopcode) { $this->get_data(sprintf('http://www.tfl.gov.uk/tfl/syndication/feeds/html/timetables/buses/%s_%s.htm', $route, $stopcode), NULL, 'html-dom'); $css2xpath = new CSS2XPath(); $xpath = $css2xpath->transform('.TT_DayType'); $nodes = $this->xpath->query($xpath); foreach ($nodes as $node) { if ($node['class'] == 'TT_DayType c5') { $day = (string) $node->tr->td->p; continue; } if (!$day) { continue; } $headers = $node->tr[0]->th; $items = $node->tr[1]->td; for ($i = 0; $i < count($headers); $i++) { $header = preg_replace('/\\s+/', ' ', (string) $headers[$i]); $item = isset($items[$i]->table) ? innerXML($items[$i]->table->tr->td) : outerXML($items[$i]); $this->results[$day][$header] = $item; } } }