ホームページ >php教程 >php手册 >Baidu Thief: 入札と広告を削除する

Baidu Thief: 入札と広告を削除する

WBOY
WBOYオリジナル
2016-06-21 08:55:46965ブラウズ

功用如题。
重写规则和Wordpress一致。
兼容IIS、Apache、Nginx。
只有一个文件实现所有功能。
 

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><?</span><span class="tag-name">php</span><span> </span></span></li><li><span>if(isset($_GET['wd'])){  </span></li><li class="alt"><span>    $</span><span class="attribute">keywords</span><span> = $_GET['wd'];  </span></li><li><span>}  </span></li><li class="alt"><span>$</span><span class="attribute">uri</span><span> = </span><span class="attribute-value">isset</span><span>($_SERVER['HTTP_X_REWRITE_URL']) ? $_SERVER['HTTP_X_REWRITE_URL'] : $_SERVER['REQUEST_URI'];  </span></li><li><span>$</span><span class="attribute">content</span><span> = </span><span class="attribute-value">file_get_contents</span><span>("http://www.baidu.com".$uri);  </span></li><li class="alt"><span> </span></li><li><span>if($</span><span class="attribute">uri</span><span>=='/'  empty($uri)){  </span></li><li class="alt"><span>    display($content);  </span></li><li><span>}  </span></li><li class="alt"><span> </span></li><li><span>//删除"来百度推广"链接  </span></li><li class="alt"><span>$</span><span class="attribute">start</span><span> = </span><span class="attribute-value">preg_quote</span><span>("</span><span class="tag"><</span><span class="tag-name">div</span><span> </span><span class="attribute">class</span><span>=\"r ec_bdtg\"</span><span class="tag">></span><span>");  </span></span></li>
<li>
<span>$</span><span class="attribute">content</span><span> = </span><span class="attribute-value">preg_replace</span><span>("/".$start."((?!</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">></span><span>).)*</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">></span><span>"."/is",'',$content);  </span>
</li>
<li class="alt"><span> </span></li>
<li><span>//删除左侧竞价  </span></li>
<li class="alt">
<span>$</span><span class="attribute">start</span><span> = </span><span class="attribute-value">"<table((?!>).)*>"</span><span>;  </span>
</li>
<li>
<span>$</span><span class="attribute">content</span><span> = </span><span class="attribute-value">preg_replace_callback</span><span>("/".$start."((?!</span><span class="tag"><</span><span>\/table</span><span class="tag">></span><span>).)*</span><span class="tag"><</span><span>\/table</span><span class="tag">></span><span>/is","search_result_filter",$content);  </span>
</li>
<li class="alt"><span> </span></li>
<li>
<span>//删除剩下的多个</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">></span><span> </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">content</span><span> = </span><span class="attribute-value">str_ireplace</span><span>("</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">></span><span>\n\n</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">></span><span>",'',$content);  </span>
</li>
<li>
<span>//删除剩下的多个</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">></span><span> </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">content</span><span> = </span><span class="attribute-value">str_ireplace</span><span>("</span><span class="tag"><</span><span class="tag-name">br</span><span class="tag">/></span><span>                                  \n\n",'',$content);  </span>
</li>
<li><span>//删除右侧推广链接  </span></li>
<li class="alt">
<span>$</span><span class="attribute">start</span><span> = </span><span class="attribute-value">preg_quote</span><span>("</span><span class="tag"><</span><span class="tag-name">div</span><span> </span><span class="attribute">id</span><span>=\"ec_im_container\"</span><span class="tag">></span><span>");  </span>
</li>
<li>
<span>$</span><span class="attribute">content</span><span> = </span><span class="attribute-value">preg_replace</span><span>("/".$start."((?!</span><span class="tag"><</span><span class="tag-name">style</span><span>).)*"."/is","</span><span class="tag"><</span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span class="tag"></</span><span class="tag-name">div</span><span class="tag">></span><span>",$content);  </span>
</li>
<li class="alt"><span> </span></li>
<li><span>display($content);  </span></li>
<li class="alt"><span>/**  </span></li>
<li><span> * 搜索结果过滤器  </span></li>
<li class="alt"><span> */  </span></li>
<li><span>function search_result_filter($matches){  </span></li>
<li class="alt"><span>    //背景#f5f5f5的是广告  </span></li>
<li>
<span>    if(strpos($matches[0],"</span><span class="attribute">bgcolor</span><span>=\"#f5f5f5\"")) return '';  </span>
</li>
<li class="alt"><span>    //ID4位数的是广告  </span></li>
<li>
<span>    if(preg_match("/</span><span class="tag"><</span><span class="tag-name">table</span><span>(.*?)</span><span class="attribute">id</span><span>=\\\"(\d{4,})\\\"(.*?)</span><span class="tag">></span><span>((?!</span><span class="tag"><</span><span>\/table</span><span class="tag">></span><span>).)*</span><span class="tag"><</span><span>\/table</span><span class="tag">></span><span>/is",$matches[0])){  </span>
</li>
<li class="alt"><span>        return '';  </span></li>
<li><span>    }  </span></li>
<li class="alt"><span>    return $matches[0];  </span></li>
<li><span>}  </span></li>
<li class="alt"><span> </span></li>
<li><span>function display($content) {  </span></li>
<li class="alt"><span>    echo $content;  </span></li>
<li><span>} </span></li>
</ol>




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。