示例#1
0
 function _wolframalpha($params)
 {
     $user = $params['user'];
     $channel = $params['channel'];
     $data = file_get_contents('http://www.wolframalpha.com/input/?i=' . urlencode($params['query']));
     preg_match_all('%<div\\s[^>]*class="pod\\s*".+?<h\\d>(?P<title>.+?):</h\\d>.*?(?P<image><img.+?' . '>)%si', $data, $podmatches, PREG_SET_ORDER);
     $output = Utils::cmdout($params);
     $index = 0;
     $slug = preg_replace('%\\W+%', '-', $params['query']);
     foreach ($podmatches as $pod) {
         $index++;
         if (preg_match('%\\bsrc\\s*=\\s*(?P<quote>["\'])(?P<src>.+?)\\1%', $pod['image'], $matches)) {
             $s3src = URLController::tos3($matches['src'], $slug . '-' . $index . '.gif');
             $output .= '<div><div class="podtitle">' . $pod['title'] . '</div><img class="s3ed" src="' . $s3src . '" onload="do_scroll();"></div>';
         } else {
             $output .= '<div><div class="podtitle">' . $pod['title'] . '</div>' . $pod['image'] . '</div>';
         }
     }
     Status::create()->data($output)->user_id($user->id)->channel($channel)->cssclass('wolframalpha')->insert();
     return true;
 }