Open Expert
OpenAntiVirus Project Project aimed at developing open source antivirus software comparable to current
commercial offerings.
moneyexpert.com - Money Expert - Compare deals on Credit-cards ... Provide comparisons of financial products, including savings accounts, mortgages,
credit cards and loans.
Experts Exchange, the #1 IT Professional Collaboration Network on ... Free online "ask an expert" site for computer questions.
Slashdot: News for nerds, stuff that matters News for nerds, stuff that matters. Timely news source for technology related
news with a heavy slant towards Linux and Open Source issues.
DannyLipford.com Home Improvement Expert Danny Lipford
UK's only Money Saving Expert Guides, tips articles and a forum about mortgages, credit cards and loans from
Martin Lewis.
CNN - Crypto expert: Microsoft products leave door open to NSA ... [CNN]
Book Marketing Update -- book marketing and book promotion advice ... Marketing and promotion tips for authors and publishers.
eWEEK.com - Enterprise Technology News and Reviews The online version of the enterprise tech magazine.
Windows Hex Editor for Programmers, Power Users Binary file editor with an easy to use user interface somewhat like MS Word or
Visual Studio. It has many displays and editing options including comprehensive ...
Pantek Incorporated - Expert IT Services Provides IT services for small to medium sized businesses. Specializes in Linux
operating systems.
Open Mind MultiLingual Word Expert A word game involving guessing of Hindi meanings of English words as referenced
in a passage. Part of a university project.
Expert Review of Anticancer Therapy Offers articles on therapeutic and diagnostic advances in oncology including
tumor management, biomarkers, therapy and treatment guidelines.
www.hibernate.org - Hibernate An object/relational persistence and query service for Java. To support a rapid
build procedure, Hibernate rejects the use of code generation or bytecode ...
Expert Football Includes international news, soccer history and gossip, famous players, individual
training tips, and free soccer drills for coaching.
Supermotard USA - East Coast Supermoto Championship News, schedules, points, and photos for amateur race series taking place primarily
in the Northeastern United States.
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.
broadband » BBR is DSL · Cable · VOIP · Security · Satellite ... Thousands of reviews of cable and DSL broadband providers. Today's reviews on
front page. Community section forums with consumer opinion.
Sartor Tile and Bath does expert bathroom and kitchen renovations ... Bathroom and kitchen renovation firm in Toronto specializes in tile, floor and
plumbing work.
The Shifted Librarian Library weblog intent on "making librarians more portable" from Jenny Levine.
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);
?>