程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 百度小偷:去除競價與廣告

百度小偷:去除競價與廣告

編輯:關於PHP編程

功用如題。
重寫規則和Wordpress一致。
兼容IIS、Apache、Nginx。
只有一個文件實現所有功能。
 

 

  1. <?php 
  2. if(isset($_GET[wd])){  
  3.     $keywords = $_GET[wd];  
  4. }  
  5. $uri = isset($_SERVER[HTTP_X_REWRITE_URL]) ? $_SERVER[HTTP_X_REWRITE_URL] : $_SERVER[REQUEST_URI];  
  6. $content = file_get_contents("http://www.baidu.com".$uri);  
  7.  
  8. if($uri==/ || empty($uri)){  
  9.     display($content);  
  10. }  
  11.  
  12. //刪除"來百度推廣"鏈接  
  13. $start = preg_quote("<div class="r ec_bdtg">");  
  14. $content = preg_replace("/".$start."((?!<br>).)*<br>"."/is",,$content);  
  15.  
  16. //刪除左側競價  
  17. $start = "<table((?!>).)*>";  
  18. $content = preg_replace_callback("/".$start."((?!</table>).)*</table>/is","search_result_filter",$content);  
  19.  
  20. //刪除剩下的多個<br> 
  21. $content = str_ireplace("<br> <br>",,$content);  
  22. //刪除剩下的多個<br> 
  23. $content = str_ireplace("<br/>                                   ",,$content);  
  24. //刪除右側推廣鏈接  
  25. $start = preg_quote("<div id="ec_im_container">");  
  26. $content = preg_replace("/".$start."((?!<style).)*"."/is","<br /></div>",$content);  
  27.  
  28. display($content);  
  29. /**  
  30.  * 搜索結果過濾器  
  31.  */  
  32. function search_result_filter($matches){  
  33.     //背景#f5f5f5的是廣告  
  34.     if(strpos($matches[0],"bgcolor="#f5f5f5"")) return ;  
  35.     //ID4位數的是廣告  
  36.     if(preg_match("/<table(.*?)id=\"(d{4,})\"(.*?)>((?!</table>).)*</table>/is",$matches[0])){  
  37.         return ;  
  38.     }  
  39.     return $matches[0];  
  40. }  
  41.  
  42. function display($content) {  
  43.     echo $content;  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved