Software Experts
MPEG . ORG - MPEG Pointers and Resources Annotated links of MPEG resources, focused mostly on the MPEG-1 and MPEG-2 standards.
AllExperts.com Volunteer experts answer all your questions.
Safe Software The Spatial ETL Experts - Data Interoperability ...
BarcodeFactory.com - The Barcode Experts. Barcode Printers ... Barcode printers and software, thermal labels and ribbons.
Instrument Interfacing Experts Laboratory software and control systems. LIMS interfacing, balance automation,
RS232 data collection, robotic wet chemistry systems, BOD analysis, ...
Email marketing software and anti spam software from Lyris - email ... Email marketing software [Windows and Unix]
Urbancode Software Development - Enterprise Java Experts Developing custom software based on Java technology and offer a full range of
services to help our clients transition to and fully take advantage of Java.
Welcome to NCD - The Thin Client Experts! the thin client leader, providing hardware and software that delivers simultaneous,
high-performance, easy-to-manage access to applications from any desktop.
::.. Software Experts, Offshore Development, Software development ... Provides consulting services in all phases of software development.
Content Management System (CMS) software experts Sydney, Australia
Plexus Software - Workflow and Process Management Experts Provides process management software tools for workflow solutions available on
almost all operating system and database combinations.
Restaurant Management Software from Restaurant Management Software ... Offering a sales, food cost and inventory management software solution. Demo available.
We are Captiva Software - Your information and forms processing ... Provide information and forms processing software solutions. Processes paper
based forms to e-commerce data with a single, fully integrated data capture ...
Vanguard Software Corporation - Decision Technology Experts Software for management decision analysis.
Widget UK Ltd. - The Experts In Mobile Computing Philips Nino / Velo, Psion, PalmPilot & Nokia Communicator Software & Accessories.
Worldwide, UK delivery, order online.
The Windows Registry Experts Information and software utilities to fix most Windows errors: Registry and file
errors, Windows tweaks and optimizing memory and disk space.
AMF Software Experts Productivity software for Windows and MS Word add-ons. Free downloads on all
products, as well as a monthly free tech news e-zine.
Software Experts - Home Provides software solutions based on Extreme Programming process.
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.
Legal Software, Process Servers, Court Reporters, Expert Witnesses ... Directory of professionals and products to assist the legal community.
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);
?>