我想使用curl
和preg_match
废弃一个网站表
我的url是http://hosts-file.net/?s=Browse&f=EMD
我的卷曲
$url = 'http://hosts-file.net/?s=Browse&f=EMD';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") );
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$body= curl_exec ($ch);
curl_close ($ch);
我需要报废一张桌子。
下面给出了我的preg_match
函数
preg_match_all('/<table class='"main_normal(.*?)'">(.*?)<'/table>/s',$body,$vv,PREG_SET_ORDER);
但它只返回空数组
请指导我
DOMDocument和DOMXPath的示例:
$doc = new DOMDocument();
@$doc->loadHTML($body);
$xpath = new DOMXPath($doc);
$links = $xpath->query('/html/body/table/tr/td/table/tr/td/table[@class="main_normal"]/tr/td[2]/a[1]/text()');
foreach($links as $link) {
echo $link->nodeValue."<br/>"; }
你可以用相对路径替换第四行,但效率较低:
$links = $xpath->query('//table[@class="main_normal"]/tr/td[2]/a[1]/text()');