-
关键字 替换类 替换(随机位置) 且指定数量的关键词
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
$RegArray[$jx]){ $TempArray=$RegArray[$c]; $RegArray[$c]=$RegArray[$jx]; $RegArray[$jx]=$TempArray; } } } for($c=0;$c StrposKey($this->KeyArray[$i][$this->Key],$RegArray[$c],$c);// 逐位(索引位) 替换截取到的关键字 } $this->HtmlString=str_replace(“/&”.md5($this->KeyArray[$i][$this->Key]).”&/”,$this->KeyArray[$i][$this->Key],$this->HtmlString); }else{ $this->HtmlString=str_replace($this->KeyArray[$i][$this->Key],”/*”.md5($this->KeyArray[$i][$this->Key]).”*/”,$this->HtmlString); } } for($i=0;$i<$this->ArrayCount;$i++){ $this->HtmlString=str_replace(“/*”.md5($this->KeyArray[$i][$this->Key]).”*/”,$this->KeyArray[$i][$this->Href],$this->HtmlString); } } function StrposKey($Key,$StrNumber,$n){//在字符串里 截取关键字 并替换,从$StrNumber这个位置开始(包含$StrNumber这个位置)替换到$n(包含$n这个位置)这个位置 $this->HtmlString=substr_replace($this->HtmlString, “/*”.md5($Key).”*/”, $StrNumber, 36); } /* 递归 查找 关键词 所在的位置 存于数组中 */ function KeyStrpos($KeyId){ $StrListArray=array(); $StrNumberss=strpos($this->HtmlString, $this->KeyArray[$KeyId][$this->Key]); $xf=0; while(!($StrNumberss===false)){ $StrListArray[$xf]=$StrNumberss; $this->HtmlString=substr_replace($this->HtmlString,”/&”.md5($this->KeyArray[$KeyId][$this->Key]).”&/”,$StrNumberss, strlen($this->KeyArray[$KeyId][$this->Key])); $StrNumberss=strpos($this->HtmlString, $this->KeyArray[$KeyId][$this->Key]); $xf++; } return $StrListArray; } } ?> ]]>
-
Cron定时任务应用到Thinkphp
安装crontab: yum install crontabs 关于cron的一些命令: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 ...
-
webuploader上传多实例,一个页面多个上传按钮
一个项目中用到了 webuploader ,页面中需要一个页面多个实例,经过查看多种方法得出以下结论 在页面按钮处添加一个公用的类 filePicker,然后 onclick 写一个方法, class="filePicker" onclick="addWebuploadCurrent('banners')" 当触发时给input一个类 function addWebu ...
-
Thinkphp中eq,neq,gt,lt等表达式缩写
eq 等于
]]>
neq 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
like LIKE
between BETWEEN
notnull IS NUT NULL
null IS NULL
-
向一个字符串随机位置插入一个字符串
/** * 向一个字符串随机插入一个字符串 * @param unknown_type $oldstr 老字符串 * @param unknown_type $instr 插入的字符串 * @param unknown_type $encoding 字符串编码 */ function rand_in_str($oldstr,$instr,$encoding){ $len = mb_strlen($oldstr,$encoding); $insert_point = mt_rand(1,$len-1); $pr ...
-
egister_shutdown_function 函数详解
php开发测试及线上的时候可以根据不同情况设定错误和异常处理需要用到有 设定错误和异常处理三函数 register_shutdown_function(array(‘Debug’,'fatalError’)); //定义PHP程序执行完成后执行的函数set_error_handler(array(‘Debug’,'appError’)); // 设置一个用户定义的错误处理函数set_exception_handle ...
-
baidu Google Ping主动推送方法
function ping($data){ $server_url = array( 'baidu' => 'http://ping.baidu.com/ping/RPC2', // 'google' => 'http://blogsearch.google.com/ping/RPC2', //'bloglines' => 'http://www.bloglines.com/ping' ); $xml = ' ...
-
PHP常用的自定义函数
function is_qq( $qq ) { if ( ereg( “^[1-9][0-9]{4,}\$”, $qq ) ) { return true; } return false; } function is_email( $C_mailaddr ) { if ( !eregi( “^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*\$”, $C_mailaddr ) ) { return fal ...