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

WBOY
发布: 2016-07-25 08:57:36
原创
851 人浏览过
  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. }
复制代码


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!