qsadfasdgfgads

Untitled

Jul 15th, 2019
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.59 KB | None | 0 0
  1. <?php
  2. require 'lib/simple_html_dom.php';
  3. $html = file_get_html('https://a8.agorov.org/');
  4. $days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
  5.  
  6. $links = [];
  7.  
  8. function getClosestMondayTimestamp($day)
  9. {
  10.     $next = strtotime("next ".$day);
  11.     $prev = strtotime("previous ".$day);
  12.     $now = time();
  13.     return (
  14.         abs($prev - $now) >
  15.         abs($next - $now)
  16.     ) ? $next : $prev;
  17. }
  18. $i = 1;
  19. foreach($days as $day){
  20.     foreach($html->find("#raspis{$day} a") as $element){
  21.         if (mb_strpos($element->innertext, '~')) {
  22.             $name = rtrim(stristr($element->innertext, '~', true));
  23.             $timer = preg_replace('/[^(]+\(([^)]+).*/', '$1', $element->innertext);
  24.             if($i == date('w') && 1 === preg_match('~[0-9]~', $timer)){
  25.                 $date = new DateTime('now');
  26.                 $setTime = explode(':', $timer);
  27.                 $date->setTime($setTime[0], $setTime[1]);
  28.                 $fullDate = $date->format('Y,m,d,H,i,s');
  29.             }elseif(1 === preg_match('~[0-9]~', $timer)){
  30.             $data = getClosestMondayTimestamp($day);
  31.             $setTime = explode(':', $timer);
  32.             $date->setTime($setTime[0], $setTime[1]);
  33.             $fullDate = $date->format('Y,m,d,H,i,s');
  34.             }else{
  35.                 $fullDate = null;
  36.             }
  37.            
  38.         }elseif(mb_strpos($element->innertext, '-')){
  39.             $name = rtrim(stristr($element->innertext, '-', true));
  40.             $timer = preg_replace('/[^(]+\(([^)]+).*/', '$1', $element->innertext);
  41.         }
  42.         $data = array('href' => $element->href, 'name' => $name);
  43.         $data['fullDate'] = $fullDate;
  44.         if(1 != preg_match('~[0-9]~', $timer)){
  45.                 $timer = null;
  46.         }
  47.         $data['timer'] = $timer;
  48.  
  49.         $links[$day][] = $data;
  50.     }
  51.     $i++;
  52. }
  53.  
  54. //var_dump($links);
Advertisement
Add Comment
Please, Sign In to add comment