ホームページ >バックエンド開発 >PHPチュートリアル >質問させてください。次のコードのパフォーマンスを最適化する方法はありますか?
次のコードのパフォーマンスを最適化する方法はありますか?
は、いくつかの宝くじデータを収集し、
によって正しい結果配列 ($result) が取得されました。マッチング
ただし、速度が少し遅いので、速度を最適化する方法がないか専門家に相談したいと思います。
コードは次のとおりです:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $str = file_get_contents('http://baidu.lehecai.com/lottery/draw/?agentId=5555'); preg_match('/<table cellpadding="0" cellspacing="0" class="kj_tab">(.*)<\/table>/isU', $str, $strs); preg_match_all('/(<tr>|<tr[^>]*>)(.*)<\/tr>/isU', $strs[0] , $output ); foreach($output[2] as $value){ preg_match_all('/(<td>|<td[^>]*>)(.*)<\/td>/isU',$value ,$va); $result[] = $va[2]; } for($i = 2, $size =count($result); $i < $size ; $i++){ preg_match_all('/<a[^>]* href="([^"]*)"[^>]*>(.*)<\/a>/isU', $result[$i][0], $href); preg_match_all('/(<a[^>]*>|<span[^>]*>)(.*)(<\/a>|<\/span>)/isU', $result[$i][3], $matches); $result[$i][0] = "http://baidu.lehecai.com/".$href[1][0]; $result[$i][3] = $matches[2]; } //preg_match_all('/<a[^>]*>(.*)<\/a>/isU', $result[3][3][3], $matches); //$result[3][3][3] = preg_replace("/[\s]+/si","",$matches[1][0]); $result[3][3][3] = preg_replace("/[\s]+/si","",$result[3][3][3]); $result[3][3][3] = preg_replace("/\(.*\)/si","",$result[3][3][3]); //echo "<pre class="brush:php;toolbar:false">"; print_r($result);exit(); /* * $result 说明 $result[$i][3] 为号码数 ; $result[$i][0] 为连接 ; $result[$i][1] 为开奖期数 ; * $i的说明如下表 : * 2:双色球 * 3:福彩3D * 4:七乐彩 * 5:华东15选5 * 6:东方6+1 * 8:大乐透 * 9:排列三 * 10:排列五 * 11:七星彩 * 12:22选5 * 13:14场胜负彩 * 14:任选9场 * 15:4场进球彩 * 16:6场半全场 * */