php內容關鍵字替換的函數分享

來源:互聯網
上載者:User
  1. /**

  2. * 內容關鍵字替換
  3. * by bbs.it-home.org
  4. */

  5. $arr=array(

  6. "鞋子"=>"鞋子",
  7. "襪子"=>"襪子",
  8. "裙子"=>"裙子",
  9. "連衣裙"=>"連衣裙",
  10. );
  11. $str="鞋子 襪子 鞋子 襪子 鞋子 襪子 鞋子 襪子 裙子 連衣裙";
  12. $str=replacelink($str,$arr,3);
  13. echo $str;

  14. public function replacelink($str,$arr,$maxcount=3000){

  15. //匹配出圖片
  16. preg_match_all("/(]*>)/iUs",$str,$imgs);
  17. preg_match_all("/(.*<\/a>)/iUs",$str,$links);
  18. //替換圖片和連結
  19. if($links[1]){
  20. foreach($links[1] as $k=>$v){
  21. $str=str_replace($v,"@links_$k",$str);
  22. }
  23. }
  24. if($imgs[1]){
  25. foreach($imgs[1] as $k=>$v){
  26. $str=str_replace($v,"@imgs_$k",$str);
  27. }
  28. }
  29. //匹配結束
  30. $str=strtr($str,$arr);
  31. preg_match_all("/(.*<\/a>)/iUs",$str,$a);
  32. $a=$a[1];
  33. $c=array_count_values($a);
  34. if($c){
  35. $kk=0;
  36. foreach($c as $k=>$v){
  37. if($v){
  38. if($kk<$maxcount){
  39. $v=$v-1;
  40. }
  41. $str=preg_replace("/".$this->replace_quote($k)."/i",str_replace("#","",strip_tags($k)),$str,$v);
  42. }
  43. $kk++;
  44. }
  45. }
  46. //還原圖片跟連結
  47. if($links[1]){
  48. foreach($links[1] as $k=>$v){
  49. $str=str_replace("@links_$k",$v,$str);
  50. }
  51. }
  52. if($imgs[1]){
  53. foreach($imgs[1] as $k=>$v){
  54. $str=str_replace("@imgs_$k",$v,$str);
  55. }
  56. }
  57. return $str;
  58. }

  59. function replace_quote($str){

  60. $str=preg_quote($str);
  61. $str=str_replace("/","\/",$str);
  62. return $str;
  63. }

複製代碼
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.