details.php 1.0 KB

123456789101112131415161718192021222324
  1. <?php
  2. assert(isset($_GET['id']));
  3. assert(is_numeric($_GET['id']));
  4. $url = 'http://www.tvgids.nl/programma/' . $_GET['id'];
  5. $page = file_get_contents($url);
  6. preg_match('/<div\s+id="prog-content">\s*(.*?)\s*<div\s+class="prog-functionbar">/s', $page, $m1);
  7. assert($m1);
  8. $description = strip_tags($m1[1], '<p><strong><em><b><i><font><a><span>');
  9. $description = str_replace('showVideoPlaybutton()', '', $description);
  10. $description = preg_replace('/\s+/', ' ', $description);
  11. $description = htmlentities($description, ENT_COMPAT | ENT_HTML5 | ENT_SUBSTITUTE, 'ISO-8859-1');
  12. $description = str_replace(array('&lt;', '&gt;', '&sol;'), array('<', '>', '/'), $description);
  13. preg_match('/<ul\s+id="prog-info-content-colleft">\s*(.*?)\s*<\/ul>/s', $page, $m2);
  14. assert($m2);
  15. preg_match_all('/<li><strong>(\w+):<\/strong>(.*?)<\/li>/', $m2[1], $m3);
  16. assert($m3);
  17. $properties = array();
  18. foreach ($m3[1] as $i => $name)
  19. $properties[] = array('name' => $name, 'value' => $m3[2][$i]);
  20. echo json_encode(compact('description', 'properties'), JSON_UNESCAPED_SLASHES);
  21. ?>