Experts Online
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.
eWEEK.com - Enterprise Technology News and Reviews The online version of the enterprise tech magazine.
AllExperts.com Volunteer experts answer all your questions.
Agricultural Consultants and Experts Online - Agriculture ... Offers advice, consultancy, and expertise from a group of experts. Services are
initially provided online.
gamexperts.com - pc game cheats, computer games, online games ... Cheats, demos, news, patches, and online games.
Net Experts Online Offers UNIX and Windows shared hosting and dedicated servers. Based in India and
United Kingdom.
Shopping Cart Experts - CCNow e-Commerce solutions for Internet merchants.
Virtual Surveys :: Research Experts, Online Experts Specialist online research agency; focusing on and/or utilising the Internet.
Details of the services offered and access to published papers and related news ...
Archery Experts - Online Archery and Bowhunting Pro Shop - We are ... Information about new archery products, bowhunting tips, and an online pro shop.
Moreno's - Web Marketing Experts - online marketing, SEO Israel ... An internet marketing firm, delivering complete end-to-end solutions to your
entire web marketing needs. Offering SEO, SEM, site submission, site usability ...
Independent Publishing News, e-Marketing Articles, Online ... Know-how, resources and tools to facilitate one's ability to learn, communicate
and collaborate effectively with new media technologies.
Florida Sportsman Magazine - The Florida Fishing Experts Online version of state fishing publication with links to books and radio coverage.
QuickBooks Community of Users and Experts Independent online community of QuickBooks users and professionals. Solve QuickBooks
problems, make comparisons, find add-ons and training.
OKbridge - the experts' choice for online bridge Offers social rooms and tournament play.
Kasamba - Ask an Expert - Expert Advice Online Gives users direct access to experts in a wide range of categories. Offers full
sound and video facilities in addition to e-mail and chat.
Consumer Reports Online Information, ratings, and advice on products, services, and decisions.
Experts.com - The Premiere Online Experts Directory Searchable directory of legal consultants and experts, with selected articles.
Science & Technology at Scientific American.com: science news ... Monthly magazine of science. Website includes articles from past issues.
MobilePlanet - The Mobile Computing Experts - Online Catalog Mobile computing products at discount prices.
CNET Help.com Help documentation for computer hardware, software and applications. Questions and
answers in a Bulletin Board format.
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);
?>