Hereby an easy example how you can use the finance.yahoo.com webservice to fetch stock exchange information with PHP.
function warquest_stockarray($data,$delim=',',$enclosure='"') { $enclosed=false; $fldcount=0; $linecount=0; $fldval=''; for($i=0;$i<strlen($data);$i++) { $chr=$data{$i}; switch($chr) { case $enclosure: if($enclosed&&$data{$i+1}==$enclosure) { $fldval.=$chr; ++$i; } else { $enclosed=!$enclosed; } break; case $delim: if(!$enclosed) { $ret_array[$linecount][$fldcount++]=$fldval; $fldval=''; } else { $fldval.=$chr; } break; case "\r": if (!$enclosed&&$data{$i+1}=="\n") continue; case "\n": if(!$enclosed) { $ret_array[$linecount++][$fldcount]=$fldval; $fldcount=0; $fldval=''; } else { $fldval.=$chr; } break; default: $fldval.=$chr; } } if($fldval) { $ret_array[$linecount][$fldcount]=$fldval; } return $ret_array; } function warquest_stock($stocksymbols) { $url = sprintf("http://download.finance.yahoo.com/d/quotes.csv?s=%s&f=snl1d1t1c1ohgvp", $stocksymbols); $data = file_get_contents($url); $stocklist=warquest_stockarray($data); for($i=0;$i<count($stocklist);$i++) { $stocksymbol=trim($stocklist[$i][0], '\"'); $stock[$stocksymbol]["stocksymbol"] = $stock[$stocksymbol]["company"] = trim($stocklist[$i][1], '\"'); $stock[$stocksymbol]["last"] = $stocklist[$i][2]; $stock[$stocksymbol]["date"] = trim($stocklist[$i][3], '\"'); $stock[$stocksymbol]["time"] = trim($stocklist[$i][4], '\"'); $stock[$stocksymbol]["change"] = $stocklist[$i][5]; $stock[$stocksymbol]["open"] = $stocklist[$i][6]; $stock[$stocksymbol]["high"] = $stocklist[$i][7]; $stock[$stocksymbol]["low"] = $stocklist[$i][8]; $stock[$stocksymbol]["volume"] = $stocklist[$i][9]; $stock[$stocksymbol]["prevclose"] = $stocklist[$i][10]; } return $stock; } print_r(warquest_stock("DB"));