Expert Guides
Expert-Guides.com Vendor of ebooks on video, gaming, and computer subjects.
Consumer Guide expert reviews and ratings for new and used cars ... Reviews and ratings for new and used vehicles, electronics, home office equipment
and family products.
BNA, Inc. Publisher of print and electronic news on health care, business, labor relations,
law, economics, taxation, environmental protection, safety, and public policy ...
RPG Expert - Lineage 2 Includes player guides and articles.
Behr Paint Manufacture's How to Guides How to tips from Behr Paints, manufacturer of paints, stains and varnishes for
home improvement projects.
AIA Seattle Links to membership information, calendar of events, architect resource center,
professional tools, local Architecture and history.
UK's only Money Saving Expert Guides, tips articles and a forum about mortgages, credit cards and loans from
Martin Lewis.
TweakTown :: Beginner to Expert trusted computer content on ... Reviews, articles and comprehensive guides to tweak your computer system.
Frommer's Travel Guides: The Best Trips Start Here! Comprehensive site lists extensive information on destinations around the globe.
Includes activities, feature articles, guidebooks and message boards.
cheatsnetwork.com - Cheat your way to the top! Features a large database of cheats for all the latest consoles and some of the
older classics.
Ecuadorial.com -- The Travel Guide Experts' Ecuador Advice and information from various guidebook writers and journalists.
Expert Consensus Guideline Series Psychiatric treatment guidelines for the most difficult questions facing clinicians.
Ecotours New Zealand - ecotourism, conservation and nature based ... Directory guide of ecotourism tour operators and holiday planning available
nationwide for nature conservation travels.
Welcome to About.com A network of sites where visitors can find many targeted topic areas, each one
managed by a personal guide.
Guide to UK Paving Comprehensive and illustrated guide to paving, residential and garden drainage,
and other hard-landscaping materials and methods commonly used in the United ...
Pregnancy, Baby, and Toddler Information, Baby Gifts, and ... Resource for pregnancy and baby, offers week-by-week baby development updates,
thousands of articles, and advice from other parents.
Wavescape :: Surfing in South Africa South African surfing site provides a daily surf report.
West Yellowstone Visitor Guide Complete guide to visiting Yellowstone National Park's west entrance gateway to
lodging, fishing, and snowmobiling.
ALOHA KAUAI TOURS: Kauai's guided snorkel, hiking and four wheel ... Four wheel drive tours and guided snorkel tours.
Macworld: The Mac Product Experts Macworld features Macintosh product reviews and buying advice, instructional
how-to articles, and news and opinion about Apple Computer and the Mac.
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);
?>