修复了一个获取控制器名称方法的bug
控制器的名称都是使用act结尾,使用过程中要删除act。
1。原来的方法
//使用替换act的方法获取控制器名称,很显然当控制器的名称出现act三个字符的时候都会被替换掉产生bug $actName = str_replace( 'act', '', 'ad_client_contactact');
控制器名称 ad_client_cont
2。修复后的方法
//从结尾删除三个字符串
$actName = substr('ad_client_contactact',0,-3);
控制器名称ad_client_contact
1、从第4个字符开始截取到字符串末尾,类似asp中的left:
输出: icoa。cn
2、PHP substr函数从右边截取3个字符,类似asp中的right:
输出:。cn
3、PHP substr函数从第4个字符开始截取3个字符:
输出:ico
4、有时我们知道一个字符串的开始和结尾,中间是不定长的字符,这时除了用PHP substr函数的正则外我们还可以用substr实现(当然要得到中间的字符方法有N种,在此只是举例substr的应用):
本例去掉开头4个字符和结尾3个字符,输出中间的字符串:
输出:icoa
5、对中文看看
$a="直的、竖的、横的、方的、" $a=substr($a,0,-1); 输出结果为:直的、竖的、横的、方的
6、查找指定字符串并删除
$a = "abcababa"; $count=strpos($a,"ab"); $str=substr_replace($a,"",$count,2); 输出结果:cababa
代码虽短,但也算是一个小算法!
7、删除字符串中任何字符的函数
function delStr($start, $end, $orgenStr) { //读取要删除字符位置的前一部分字符串,并赋值给$temp //strpos读取字符第一次出现的位置 //substr读取指定开始与结束位置的子字符串 //echo $before."―". $last; $temp=$orgenStr; while(strpos($temp, $start) && strpos($temp, $end)){ $temp=substr($temp, 0, strpos($temp, $start)).substr($temp,strpos($temp, $end)+strlen($end));; //读取要删除字符位置的后一部分字符串,然后将前后部分连接,并赋值给$temp //返回最后是字符串 } return $temp; } //应用实例 $a="aaaa12345678bbbbtttttttttttttttttttttaaaa12345678bbbb kkkkkkkkkkkkaaaa12345678bbbbttttttttttttttttttttt"; $b="1234"; $c="5678"; echo delStr($b,$c,$a);