Expert Gamer
video.game.maniacs - Conflict Desert Storm Reviewed by Rob, [8.6/10]. "On our top ten list of best Xbox titles."
Otogi: Myth of Demons Xbox Review - CGN Review, with screen shots, by Scott Jones. Score: 4.5/5.
Mega LAN Gaming Group The PC and console gaming group of Luther College, Decorah, Iowa, holding five
all-night events each school year.
MegaTokyo - relax, we understand j00 Two hardcore American gamers get stuck in Tokyo with no money, where they have
to deal with ninjas, giant lizards, androids, the undead, schoolgirls and ...
Chicago Interactive Marketing Association Supports professionals on the cutting-edge of interactive marketing and advertising.
Programs and events calendar, press releases, sponsors, job listings, ...
Guild Wars OGaming - News, Screenshots, Info, and Forums Presents screenshots, news, forums, profession information, wallpaper, and general
game information.
TweakTown :: Beginner to Expert trusted computer content on ... Reviews, articles and comprehensive guides to tweak your computer system.
CdrInfo.com - The Hardware Authority Website that contains news and announcements of new products, reviews and articles.
RPGFan Reviews - Might and Magic VI: The Mandate of Heaven [90%] Review with small screen shots by Tortolia. Offers part ratings. "When all
is said and done, the sheer fun of exploration and character development is ...
» Nintendo 64 Review » Yoshi's Story - By Pat Campbell Pat Campbell- 9 out of 10.
TweakTown :: Beginner to Expert trusted computer content on ... An in-depth article providing general and advanced optimization tips.
insert credit
NBA Inside Drive 2000 for PC Developer page for this game.
GrandPrix Tournaments :: Officially Sanctioned Hearts, Spades ... Official home to The World Series of Hearts, The World Series of Spades and The
World Series of Euchre. Also contains tips, tricks and strategies.
Review: Dark Fall Review by Andrew "Zarf" Plotkin. "Dark Fall will stand up with the best of
commercial adventure gaming -- not only, but not least, because it goes into ...
NextGen Electronics - The Source for the latest in Technology The news, reviews and previews for the latest in technology, from video cards,
to hard drives, to MP3 players.
COMBATSIM.COM Offers news, downloads, and forums.
PC Games: Safecracker Rated 5.2/10 by Scott Steinberg. "Lock this one away and throw the key in a deep,
deep lake."
Gurlgamer Female online gamers. Made by gurls, played by gurls. Looking for female experts
on any of the games you play to volunteer and join our team and help me with ...
GameSpot: for your PC, PlayStation 2, Xbox, GameCube, PSP, DS, GBA ... News, reviews, previews, screenshots, movies, message boards, FAQs, game guides,
and downloads for computer and console video games.
rss_url = $url;
$this->num_to_show = $numtoshow;
$this->do_update = $update;
$this->my_html = preg_replace("/(#{.*?):(.*?})/", "\\1__\\2", $html); //xx:xx tag workaround
$this->content = $this->fetch_feed();
$this->parse_feed();
$this->show();
}
/* string */
function fetch_feed()
{
$url_parts = parse_url($this->rss_url);
$filename = $url_parts['host'] . str_replace("/", ",", $url_parts['path']) . "_" . @$url_parts['query'];
if(file_exists($this->data_directory . "/$filename")) {
$last = filemtime($this->data_directory . "/$filename");
if(time() - $last > $this->update_interval * 60 || $this->update_interval == 0) {
$update = 1;
}
} else {
$create= 1;
}
if($create == 1 || ($this->do_update == TRUE && $update == 1)) {
$fp = @fsockopen($url_parts['host'], 80, $errno, $errstr, 5);
if (!$fp) {
echo "Couldn't open rss feed {$this->feed_url} in {$_SERVER['PHP_SELF']}
\n";
return;
}
fputs($fp, "GET " . $url_parts['path'] . "?" . @$url_parts['query'] . " HTTP/1.0\r\n"
."Host: " . $url_parts['host'] . "\r\n"
."User-Agent: Drew's RSS Reader 0.1\r\n"
."Connection: Close\r\n\r\n");
while(!feof($fp)) {
$rss_data .= @fgets($fp, 1024);
}
list(, $rss_data) = explode("\r\n\r\n", $rss_data, 2);
$output = @fopen($this->data_directory . "/$filename", "w+");
if(!$output) {
return $rss_data;
} else {
flock($output, LOCK_EX);
fputs($output, $rss_data);
flock($output, LOCK_UN);
fclose($output);
}
} //update
return file_get_contents($this->data_directory . "/$filename");
}
/* void */
function parse_feed()
{
preg_match("/
(.*?)<\/title>/", $this->content, $title);
$this->feed_title = @$title[1];
preg_match("/ (.*?)<\/link>/", $this->content, $link);
$this->feed_link = @$link[1];
preg_match("/(.*?)<\/description>/", $this->content, $description);
$this->feed_description = @$description[1];
preg_match_all("/- ]*>(.*?)<\/item>/s", $this->content, $items);
if (sizeof($items[0]) == 0) {
echo "No item elements found in rss feed.
\n";
}
for($i = 0; $i < sizeof($items[0]); ++$i) {
preg_match_all("/(?:<([\w:]*)[^>]*>(?:)?<\/\\1>)+?/si", preg_replace("/- ]*>/", "", $items[0][$i]), $elements);
for($j = 0; $j < sizeof($elements[0]); ++$j) {
$elements[1][$j] = str_replace(":", "__", $elements[1][$j]); //regex fix for items with : like dc:date
$this->rss[$i][$elements[1][$j]] = trim(html_entity_decode($elements[2][$j]));
}
}
}
/* void */
function show()
{
if($this->my_html == "") {
$this->show_html();
} else {
$this->show_user_html();
}
}
function show_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
echo "-
rss[$i]['link']}\" target=\"_new\">{$this->rss[$i]['title']} \n";
}
}
function show_user_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
extract($this->rss[$i]);
$item = preg_replace("/#\{([^}]+)}/e", "$\\1", $this->my_html);
echo $item;
}
}
} // end class
$url = "http://www.justinpfister.com/gnewsfeed.php?q=Expert&lang=en&ned=us";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
$url = "http://search.news.yahoo.com/usns/ynsearch/categories/47/index.html?p=Expert";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
?>