Цитата:
Сообщение от Лаврушкин
В бинге изменилась выдача. и теперь там кстати много мусора непонятного.
в файле
classes/class.CBingReverseIP.php
измени функцию StartParsePage
На
PHP код:
protected function StartParsePage($content){
$links = array();
//preg_match(self::PREG_BLOCK_OF_RESULT, $content, $mth);
//if(isset($mth[1]) && !empty($mth[1])) {
//$content=$mth[1];
preg_match_all(self::PREG_HOST_RESULTS, $content, $mth);
if(is_array($mth[1]) && count($mth[1]) >= 1) {
$links = $mth[1];
}
//}
foreach($links as $id => $link){
$link=trim($link);
if(empty($link))unset($links[$id]);
$tmp=parse_url($link);
if(isset($tmp['host'])){
if(empty($tmp['scheme']))$tmp['scheme']='http';
$links[$id]=$tmp['scheme'].'://'.$tmp['host'].(!empty($tmp['port'])?':'.$tmp['port']:'').'/';
}else unset($links[$id]);
}
return $links;
}
а const PREG_HOST_RESULTS
на
PHP код:
const PREG_HOST_RESULTS ='/b\_title\"\>\<h2\>\<a href\=\"(.*?)\" h\=\"ID/i';
|
Столкнулся с тем, что данная регулярка не всегда работает. Усовершенствованный вариант:
PHP код:
const PREG_HOST_RESULTS ='/b\_(title|algo)\"\>\<h2\>\<a href\=\"(.*?)\" h\=\"ID/i';
И, соответственно, правим функцию StartParsePage, заменяя на:
PHP код:
protected function StartParsePage($content){
$links = array();
//preg_match(self::PREG_BLOCK_OF_RESULT, $content, $mth);
//if(isset($mth[1]) && !empty($mth[1])) {
//$content=$mth[1];
preg_match_all(self::PREG_HOST_RESULTS, $content, $mth);
if(is_array($mth[2]) && count($mth[2]) >= 1) {
$links = $mth[2];
}
//}
foreach($links as $id => $link){
$link=trim($link);
if(empty($link))unset($links[$id]);
$tmp=parse_url($link);
if(isset($tmp['host'])){
if(empty($tmp['scheme']))$tmp['scheme']='http';
$links[$id]=$tmp['scheme'].'://'.$tmp['host'].(!empty($tmp['port'])?':'.$tmp['port']:'').'/';
}else unset($links[$id]);
}
return $links;
}