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; }