-
-
/**
- * 内容关键字替换
- * by bbs.it-home.org
- */
$arr=array(
- "鞋子"=>"鞋子",
- "袜子"=>"袜子",
- "裙子"=>"裙子",
- "连衣裙"=>"连衣裙",
- );
- $str="鞋子 袜子 鞋子 袜子 鞋子 袜子 鞋子 袜子 裙子 连衣裙";
- $str=replacelink($str,$arr,3);
- echo $str;
public function replacelink($str,$arr,$maxcount=3000){
- //匹配出图片
- preg_match_all("/(]*>)/iUs",$str,$imgs);
- preg_match_all("/(.*)/iUs",$str,$links);
- //替换图片和链接
- if($links[1]){
- foreach($links[1] as $k=>$v){
- $str=str_replace($v,"@links_$k",$str);
- }
- }
- if($imgs[1]){
- foreach($imgs[1] as $k=>$v){
- $str=str_replace($v,"@imgs_$k",$str);
- }
- }
- //匹配结束
- $str=strtr($str,$arr);
- preg_match_all("/(.*)/iUs",$str,$a);
- $a=$a[1];
- $c=array_count_values($a);
- if($c){
- $kk=0;
- foreach($c as $k=>$v){
- if($v){
- if($kk$v=$v-1;
- }
- $str=preg_replace("/".$this->replace_quote($k)."/i",str_replace("#","",strip_tags($k)),$str,$v);
- }
- $kk++;
- }
- }
- //还原图片跟链接
- if($links[1]){
- foreach($links[1] as $k=>$v){
- $str=str_replace("@links_$k",$v,$str);
- }
- }
- if($imgs[1]){
- foreach($imgs[1] as $k=>$v){
- $str=str_replace("@imgs_$k",$v,$str);
- }
- }
- return $str;
- }
function replace_quote($str){
- $str=preg_quote($str);
- $str=str_replace("/","\/",$str);
- return $str;
- }
复制代码
|