如果你要
成都創(chuàng)新互聯(lián)是一家專業(yè)提供即墨企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、H5場景定制、小程序制作等業(yè)務(wù)。10年已為即墨眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
和
之間的所有源碼,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的
標(biāo)簽中的內(nèi)容,可以用preg_match_all //提取所有代碼 $pattern = '/
(.+?)
/is'; preg_match($pattern, $string, $match); //$match[0] 即為
和
之間的所有源碼 echo $match[0]; //然后再提取
之間的內(nèi)容 $pattern = '/(.+?)li/is'; preg_match_all($pattern, $match[0], $results); $new_arr=array_unique($results[0]); foreach($new_arr as $kkk){ echo $kkk; }
一、用file_get_contents函數(shù),以post方式獲取url
?php
$url=?'';
$data=?array('foo'=?'bar');
$data= http_build_query($data);
$opts=?array(
'http'=?array(
'method'=?'POST',
'header'="Content-type: application/x-www-form-urlencoded\r\n" ?.
"Content-Length: " ?.?strlen($data) .?"\r\n",
'content'=?$data
)
);
$ctx= stream_context_create($opts);
$html= @file_get_contents($url,'',$ctx);
二、用file_get_contents以get方式獲取內(nèi)容
?php
$url='';
$html=?file_get_contents($url);
echo$html;
?
三、用fopen打開url, 以get方式獲取內(nèi)容
?php
$fp=?fopen($url,'r');
$header= stream_get_meta_data($fp);//獲取報(bào)頭信息
while(!feof($fp)) {
$result.=?fgets($fp, 1024);
}
echo"url header: {$header} br":
echo"url body: $result";
fclose($fp);
?
四、用fopen打開url, 以post方式獲取內(nèi)容
?php
$data=?array('foo2'=?'bar2','foo3'='bar3');
$data= http_build_query($data);
$opts=?array(
'http'=?array(
'method'=?'POST',
'header'="Content-type: application/x-www-form-
urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n" ?.
"Content-Length: " ?.?strlen($data) .?"\r\n",
'content'=?$data
)
);
$context= stream_context_create($opts);
$html=?fopen(';id2=i4','rb',false,?$context);
$w=fread($html,1024);
echo$w;
?
五、使用curl庫,使用curl庫之前,可能需要查看一下php.ini是否已經(jīng)打開了curl擴(kuò)展
?php
$ch= curl_init();
$timeout= 5;
curl_setopt ($ch, CURLOPT_URL,?'');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,?$timeout);
$file_contents= curl_exec($ch);
curl_close($ch);
echo$file_contents;
?
function?getRemoteRes($url,?$postfields?=?NULL,$timeout=60)?{
$ci?=?curl_init?();
curl_setopt?(?$ci,?CURLOPT_URL,?$url?);
curl_setopt?(?$ci,?CURLOPT_HEADER,?FALSE?);
curl_setopt?(?$ci,?CURLOPT_RETURNTRANSFER,?TRUE?);
curl_setopt?(?$ci,?CURLOPT_SSL_VERIFYPEER,?0?);
curl_setopt?(?$ci,?CURLOPT_SSL_VERIFYHOST,?0?);
curl_setopt?(?$ci,?CURLOPT_TIMEOUT,?$timeout?);
curl_setopt?(?$ci,?CURLOPT_POST,?TRUE?);
if?(is_array?(?$postfields?))?{
$field_str?=?"";
foreach?(?$postfields?as?$k?=?$v?)?{
$field_str?.=?"$k="?.?urlencode?(?$v?);
}
curl_setopt?(?$ci,?CURLOPT_POSTFIELDS,?$field_str?);
}
$response?=?curl_exec?(?$ci?);
if?(curl_errno?(?$ci?))?{
return?'ERRNO!';
}?else?{
$httpStatusCode?=?curl_getinfo?(?$ci,?CURLINFO_HTTP_CODE?);
if?(200?!==?$httpStatusCode)?{
return?'ERRNO!';
}
}
curl_close?(?$ci?);
return?$response;
}
先用以上函數(shù)獲取指定的網(wǎng)頁,然后從返回的數(shù)據(jù)中解析出你要的數(shù)據(jù).可以使用正則表達(dá)式來提取,這要根據(jù)你要獲取的頁面源代碼來判斷了.暫時(shí)未知,以上只是提供一個(gè)思路給你.