array(“Key”=>”this”,”Href”=>”this“,”ReplaceNumber”=>1), 1=>array(“Key”=>”test”,”Href”=>”test“,”ReplaceNumber”=>1));$str = “this is test content!”;$a = new Seokey($KeyArray,$str);$a->KeyOrderBy();$a->Replaces();echo $a->HtmlString;*/class Seokey{ public $KeyArray; //关键字 public $HtmlString; //文字内容 public $ArrayCount; //关键字的个数 public $Key; public $Href; /* 初始化: $keyArray 关键字 数组 $String 检索字域,文字 */ function Seokey($KeyArray,$String,$Key='Key',$Href='Href'){ $this->KeyArray=$KeyArray; $this->HtmlString=$String; $this->ArrayCount=count($KeyArray); $this->Key=$Key; $this->Href=$Href; } /* 关键字 按长度排序 */ function KeyOrderBy(){ usort($this->KeyArray,'sortcmp'); } function Replaces(){ for($i=0;$i<$this->ArrayCount;$i++){ if((integer)$this->KeyArray[$i]['ReplaceNumber'] != 0 ){ str_replace($this->KeyArray[$i][$this->Key],”/*”.md5($this->KeyArray[$i][$this->Key]).”*/”,$this->HtmlString,$num);//$num查询到的数量 if((integer)$this->KeyArray[$i]['ReplaceNumber']>$num) {//当关键词 需要替换的数量 大于 包含的数量时,替换全部 $this->KeyArray[$i]['ReplaceNumber']=$num; $this->HtmlString=str_replace($this->KeyArray[$i][$this->Key],”/*”.md5($this->KeyArray[$i][$this->Key]).”*/”,$this->HtmlString); continue; } //当关键词 需要替换的数量 不大于 包含的数量时,使用 KeyStrpos($i);方法替换 $ListNumber=array(); $ListNumber=$this->KeyStrpos($i);//$i: 表示第$i个关键词($i从0开始) $RegArray=array(); if(count($ListNumber)<1) continue;//不存在 关键词 $n=0; while($n<(integer)$this->KeyArray[$i][“ReplaceNumber”]){ $g=0; $x=rand(0,count($ListNumber)-1);//随机数 for($xcn=0;$xcn<=$n;$xcn++){ if($RegArray[$xcn]==$ListNumber[$x]){ $g=1; } } if($g==0){ $RegArray[$n]=$ListNumber[$x]; $n++; } } for($c=0;$c
原创文章,作者:键盘游走者,如若转载,请注明出处:http://www.708034.com/2017/01/%e5%85%b3%e9%94%ae%e5%ad%97-%e6%9b%bf%e6%8d%a2%e7%b1%bb-%e6%9b%bf%e6%8d%a2%e9%9a%8f%e6%9c%ba%e4%bd%8d%e7%bd%ae-%e4%b8%94%e6%8c%87%e5%ae%9a%e6%95%b0%e9%87%8f%e7%9a%84%e5%85%b3%e9%94%ae%e8%af%8d/