Wine Expert
Make Scents of Wine - Le Nez du Vin Offers the Le Nez du Vin scent education kits, along with corkscrews and some
software. Includes product descriptions, press clippings, and customer ...
THE WINE BARREL - VICTORIA, CANADA - 250-388-0606 Largest selection of wines in Victoria, including Icewines and large selection
of unique wine accessories.
Buy fine Australian Wines Online / Wine Shop / Wine Merchant Specialises in Australian wine. Product listing with on-line ordering, delivery
and contact information.
Valencia Discount Liquor and Wine Shop Offering Everything from ... Online wedding catalog, menu and wine suggestions, cocktail recipes, Ask the Wine
Expert and information on special events.
Very Much Grape Wine Database Searchable database with information about regions, producers and wines.
Also covers New Zealand.
York Wines - Mail order wines, Wine merchants, Wine online Importers offering wines sourced directly from the vineyards. Purchase, shipping
and contact information available as well as themed gifts.
WINE EXPERT (?)?? ??BG(????:???)? ?? ?? ???(Wine.co.kr)? ??? ??
??? ?? ????? 16? ???. ? ???? '??? ???'????? ?? ? ...
Gasbarro's Wine and Spirits Ask an Expert, The Wine Press and information on upcoming events. Locations in
Swansea and Seekonk.
Le Nez Du Vin Wine Aromas Kits 54 aromas wine tasting game and the Nez du Vin 12 aromas blanc, rouge and faults,
available online for delivery anywhere in the World.
AllExperts.com Volunteer experts answer all your questions.
Pennsylvania Wine & Wineries Lists wineries by region and contains information on festivals, events at wineries
and wineshop hours. Maintained by the Pennsylvania Wine Association.
Multimedia Wine Workshop: Wine Software, Wine Cellar Management ... Manage your wine cellar, classify wines based on descriptors, maturity dates and
food and wine matches.
Wine Wines.com guide to wine online
Adventure travel and wine & culinary tours to Chile and Argentina Offers tours throughout all Chile which include wine tours, patagonia tours, lake
district, north Chile, self drive tours and convoy tours.
Shop California Wine - Wine Club, wine gifts , Wine Club Member ... Purchase California wines online.
Allexperts Wine Q&A Volunteer experts answer questions about wine.
Wine and Champagne at ChateauOnline Large selection of wine and champagne from worldwide cellars. Also offers auctions,
expert advice, and a newsletter.
Select Wines LLC Wine gift baskets and unique wine picks.
Eastern Shore fine wine scotch - Harrison's Wines and Spirits ... Fine wine, beer, liquor, cigars, snack foods, ice and supplies.
VineArts;wine gifts:wine rack, wine accessory, wine cooler, fine ... Grape and vinous-themed products include kitchen items, apparel, home decor, art,
jewelry, and books. Includes pictures and descriptions of products.
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);
?>