Heim  >  Artikel  >  Backend-Entwicklung  >  php内容关键字替换的函数分享

php内容关键字替换的函数分享

WBOY
WBOYOriginal
2016-07-25 08:57:36899Durchsuche
  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("/(php内容关键字替换的函数分享 ]*>)/iUs",$str,$imgs);
  17. preg_match_all("/(.*)/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("/(.*)/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$v=$v-1;
  39. }
  40. $str=preg_replace("/".$this->replace_quote($k)."/i",str_replace("#","",strip_tags($k)),$str,$v);
  41. }
  42. $kk++;
  43. }
  44. }
  45. //还原图片跟链接
  46. if($links[1]){
  47. foreach($links[1] as $k=>$v){
  48. $str=str_replace("@links_$k",$v,$str);
  49. }
  50. }
  51. if($imgs[1]){
  52. foreach($imgs[1] as $k=>$v){
  53. $str=str_replace("@imgs_$k",$v,$str);
  54. }
  55. }
  56. return $str;
  57. }
  58. function replace_quote($str){

  59. $str=preg_quote($str);
  60. $str=str_replace("/","\/",$str);
  61. return $str;
  62. }
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn