百度小偷:去除竞价与广告
功用如题。
重写规则和Wordpress一致。
兼容IIS、Apache、Nginx。
只有一个文件实现所有功能。
重写规则和Wordpress一致。
兼容IIS、Apache、Nginx。
只有一个文件实现所有功能。
- <?php
- if(isset($_GET[wd])){
- $keywords = $_GET[wd];
- }
- $uri = isset($_SERVER[HTTP_X_REWRITE_URL]) ? $_SERVER[HTTP_X_REWRITE_URL] : $_SERVER[REQUEST_URI];
- $content = file_get_contents("http://www.baidu.com".$uri);
- if($uri==/ || empty($uri)){
- display($content);
- }
- //删除"来百度推广"链接
- $start = preg_quote("<div class="r ec_bdtg">");
- $content = preg_replace("/".$start."((?!<br>).)*<br>"."/is",,$content);
- //删除左侧竞价
- $start = "<table((?!>).)*>";
- $content = preg_replace_callback("/".$start."((?!</table>).)*</table>/is","search_result_filter",$content);
- //删除剩下的多个<br>
- $content = str_ireplace("<br> <br>",,$content);
- //删除剩下的多个<br>
- $content = str_ireplace("<br/> ",,$content);
- //删除右侧推广链接
- $start = preg_quote("<div id="ec_im_container">");
- $content = preg_replace("/".$start."((?!<style).)*"."/is","<br /></div>",$content);
- display($content);
- /**
- * 搜索结果过滤器
- */
- function search_result_filter($matches){
- //背景#f5f5f5的是广告
- if(strpos($matches[0],"bgcolor="#f5f5f5"")) return ;
- //ID4位数的是广告
- if(preg_match("/<table(.*?)id=\"(d{4,})\"(.*?)>((?!</table>).)*</table>/is",$matches[0])){
- return ;
- }
- return $matches[0];
- }
- function display($content) {
- echo $content;
- }
补充:Web开发 , php ,