修复了一个获取控制器名称方式的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个字符php字符串截取前4位,类似asp中的right:
输出:。cn
3、PHP substr函数从第4个字符开始截取3个字符:
输出:ico
4、有时我们晓得一个字符串的开始跟结尾,中间是不定长的字符,这时不仅用PHP substr函数的正则外我们还可以用substr实现(当然要得到后边的字符方式有N种,在此也是例子substr的应用):
本例除去开头4个字符跟结尾3个字符php字符串截取前4位,输出后边的字符串:
输出: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);