[0-9]+\.[0-9]+<\/b>)/", $contents, $quote)) { //print value of index or listing echo "$quote[1]"; //print change in points or dollars //green for positive, red for negative if (preg_match("/(Change
\-[0-9]+\.[0-9]+)/", $contents, $quote)) { //extra specificity of string searched due to possibility of negative EPS //and positive change, resulting in two numbers displayed as change $quote[1] = substr($quote[1], 29); echo "$quote[1]"; } if (preg_match("/(\+[0-9]+\.[0-9]+)/", $contents, $quote)) echo "$quote[1]"; //print change in percent //green for positve, red for negative if (preg_match("/(\-[0-9]+\.[0-9]+\%)/", $contents, $quote)) echo "$quote[1]"; if (preg_match("/(\+[0-9]+\.[0-9]+\%)/", $contents, $quote)) echo "$quote[1]"; } //if the value of $symbols exceeds 1000 points (indices only) else if (preg_match("/([0-9]+\,[0-9]+\.[0-9]+<\/b>)/", $contents, $quote)) { //print value of index echo "$quote[1]"; //print change in points or dollars //green for positive, red for negative if (preg_match("/(\-[0-9]+\.[0-9]+)/", $contents, $quote)) echo "$quote[1]"; if (preg_match("/(\+[0-9]+\.[0-9]+)/", $contents, $quote)) echo "$quote[1]"; //print change in percent //green for positive, red for negative if (preg_match("/(\-[0-9]+\.[0-9]+\%)/", $contents, $quote)) echo "$quote[1]"; if (preg_match("/(\+[0-9]+\.[0-9]+\%)/", $contents, $quote)) echo "$quote[1]"; } //if the value of $symbols cannot be determined else { echo "No quote available.

"; } } //end function retrieve($symbols) //if $symbols is not an index //display technical data function techdata($symbols) { //obtain a page containing data regarding $symbols $url = "http://finance.yahoo.com/q?s=$symbols&d=t"; if (!($fp = fopen($url, "r"))) { echo "Unable to open page."; exit; } //if opening is successful, read 100000 bytes from opened page $contents = fread($fp, 100000); //close page fclose($fp); if ($symbols != "^DJI" && $symbols != "^IXIC" && $symbols != "^GSPC" && $symbols != "^dji" && $symbols != "^ixic" && $symbols != "^gspc") { echo ""; //Market //NYSE - New York Stock Exchange //NasdaqNM - Nasdaq National Market //AMEX - American Stock Exchange echo ""; if (preg_match("/(NYSE:$symbols)/", $contents, $quote)) echo ""; if (preg_match("/(NasdaqNM:$symbols)/", $contents, $quote)) echo ""; if (preg_match("/(AMEX:$symbols)/", $contents, $quote)) echo ""; //P/E Ratio - Price to Earnings if (preg_match("/(P\/E
[0-9]+\.[0-9]+)/", $contents, $quote)) { $quote[1] = substr($quote[1], 7); echo ""; echo ""; } else { echo ""; echo ""; } //PEG - P/E / Growth if (preg_match("/(PEG
[0-9]+\.[0-9]+)/", $contents, $quote)) { $quote[1] = substr($quote[1], 7); echo ""; echo ""; } else { echo ""; echo ""; } //EPS - Earnings Per Share /**/ if (preg_match("/((ttm)<\/small>
[0-9]+\.[0-9]+)/", $contents, $quote)) { //$quote[1] = substr($quote[1], 11); echo "
"; echo ""; } else if (preg_match("/((ttm)<\/small>
\-[0-9]+\.[0-9]+)/", $contents, $quote)) { //$quote[1] = substr($quote[1], 11); echo "
"; echo ""; } else { echo ""; echo ""; } /**/ //Market Capitalization if (preg_match("/(Mkt Cap
[0-9]+\.[0-9]+)/", $contents, $quote)) { $quote[1] = substr($quote[1], 11); echo "
"; echo ""; if (preg_match("/(Mkt Cap
[0-9]+\.[0-9]+M)/", $contents, $quote)) echo "Million"; } else { echo "
"; echo ""; } //Volume - Shares Traded (Daily) if (preg_match("/(Volume
[0-9]+\,[0-9]+\,[0-9]+)/", $contents, $quote) || preg_match("/(Volume
[0-9]+\,[0-9]+)/", $contents, $quote) || preg_match("/(Volume
[0-9]+)/", $contents, $quote)) { $quote[1] = substr($quote[1], 10); echo "
"; echo ""; } else { echo ""; echo ""; } //Volume - Shares Traded (Daily) if (preg_match("/(Avg Vol
[0-9]+\,[0-9]+\,[0-9]+)/", $contents, $quote) || preg_match("/(Avg Vol
[0-9]+\,[0-9]+)/", $contents, $quote)) { $quote[1] = substr($quote[1], 11); echo "
"; echo ""; } else { echo ""; echo ""; } echo "
ExchangeNYSE
NASDAQ
American
P/E$quote[1]
P/EN/A
PEG$quote[1]
PEGN/A
Earnings$quote
Earnings$quote
EarningsN/A
Market Cap$$quote[1] "; if (preg_match("/(Mkt Cap
[0-9]+\.[0-9]+B)/", $contents, $quote)) echo "Billion
Market CapN/A
Volume$quote[1]
VolumeN/A
Average Volume$quote[1]
Average VolumeN/A

"; } } ?>