Weblog Expert
Small Business Trends Tracks trends affecting small and midsize businesses, entrepreneurs and
entrepreneurial enterprises.
Wealth Academy: Select a mortgage, create wealth, manage debt ... Help for the Business of Your Life includes free downloadable newspaper articles
on mortgage strategies, debt management, wealth creation, tax savvy strategies, ...
GREEK MEDICAL WEBLOG-IATRIKI - Medicine news, medical education ... Presentation of medical news, articles, alerts, forum, and patient advice.
The site is in Geek and in English.
Web Hosting Asp Hosting
Say What?! - A weblog of classic humor from US District Judge ... Courtroom humor from Judge Jerry Buchmeyer.
PHP kitchen A PHP developers' resource with tutorials and news focusing on OOP, Open Source
and freelance.
Cult Information from the Rick A. Ross Institute for the Study of ... Information on controversial groups, cult movements and cult activity. This vast
archive contains thousands of individual documents.
Branding Expert -- Rob Frankel A branding specialist, consultant and speaker.
Jim Roepcke's weblog: have browser, will travel Jim Roepcke's trek through the 'net.
Nutritionist, Health & Fitness Writer, Exercise Specialist, Expert ... Nutritionist to many celebrities and pro athletes. Specializes in fat loss,
obesity, digestion and body building.
Weblog Analysis Expert - Analyze your Web site logs, Get ... Provides you with easy-to-understand reports and statistics about visitors to
your Web site. [Windows 9x/NT/ME/XP]
UK's only Money Saving Expert Guides, tips articles and a forum about mortgages, credit cards and loans from
Martin Lewis.
WebLog Expert - Powerful log analyzer Web server log analyzer. Includes usual site visitor info reports including paths
through the site. Flexible filtering system. There is a freeware Lite version.
Freelance web designer, SEO and CSS expert - Sunil Kumar Khowal Biodata and portfolio of the web designer.
Horse Racings Finest Hour on Radio, The Roger Stein Show ... Southern California-based, live, trackside horse racing program, with handicapping
information and interviews.
Search Engine News, on Web searching and search engine optimization News, archives and other search engine resources.
Previous Spotlighted Links Jakob Nielsen's very personal, interesting, and useful journal-style comments
with links; these complement his usability work and Alertbox articles. Archives.
Publicity, publicity expert, free publicity, press publicity Offers articles, tips, and tools related to pursuing free publicity.
Michelle Malkin The official web site and commentary archives of syndicated columnist Michelle Malkin.
BlogBridge: Home Windows, Mac and Linux based RSS feed reader, which is designed to allow users
to easily manage and follow hundreds of feeds.
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);
?>