获取curl php黑名单whoer.net

时间:2015-11-26 05:10:21

标签: php curl

我有一个PHP代码如下......

$result1 = k_curl("http://whoer.net/",$ip);
preg_match('#Blacklist:\n</dt>\n<d(.*?)>\n<span class="ico-holder main-good"> </span>\n<span class="cont">\n(.*?)\n</span>#',$result1, $i);

我想把段落黑名单:没有或是,但我只能参加黑名单不,我认为我在正则表达式中错了。你可以帮助他们谢谢

2 个答案:

答案 0 :(得分:2)

使用htmldom(http://simplehtmldom.sourceforge.net/) 你可以优化这段代码,但这可以解决问题

<?php
include('simple_html_dom.php');
$html = file_get_html("http://whoer.net/");
$array_result=array();
$array_result_data=array();
foreach($html->find('dl.ping') as $element){
    foreach($element->find('dt') as $inelement){
       array_push($array_result,trim($inelement->innertext));
    }
    foreach($element->find('dd') as $inelement){
       array_push($array_result_data,trim($inelement->innertext));
    }
}
//view data saved
$i=0;
foreach ($array_result as $key => $value) {
    echo $value.$array_result_data[$i].'<br />';
    $i++;
}

?>

答案 1 :(得分:1)

您可以使用XPath而不是正则表达式..这将捕获是和否以及他们在那里写的任何其他内容

<?php 
$html=file_get_contents('http://whoer.net');
$domd=@DOMDocument::loadHTML($html);
$xp=new DOMXpath($domd);
$res=$xp->query('//*[@id="content"]/div[1]/div/div[2]/dl/dd[5]/span[2]');
$res=$res->item(0);
$res=$res->textContent;
$res=trim($res);
var_dump($res);