关于php中一些字符串总结
php自带的一个截取字符串的函数,只能处理英文,数字的不能截取中文混排的哦,有需要的朋友可以参考,后面的比较好用,第一个主要是给初学者学学用的。
php //构造字符串 $str="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; echo"原字符串:".$str." "; //按各种方式进行截取 $str1=substr($str,5); echo"从第5个字符开始取至最后:".$str1." "; $str2=substr($str,9,4); echo"从第9个字符开始取4个字符:".$str2." "; $str3=substr($str,-5); echo"取倒数5个字符:".$str3." "; $str4=substr($str,-8,4); echo"从倒数第8个字符开始向后取4个字符:".$str4." "; $str5=substr($str,-8,-2); echo"从倒数第8个字符开始取到倒数第2个字符为止:".$str5." "; ?>支持中英文混合截取。
/* ------------------------------------------------------ 参数: $str_cut需要截断的字符串 $length允许字符串显示的最大长度 程序功能:截取全角和半角(汉字和英文)混合的字符串以避免乱码 ------------------------------------------------------ */ functionsubstr_cut($str_cut,$length) { if(strlen($str_cut)>$length) { for($i=0;$i<$length;$i++) if(ord($str_cut[$i])>128)$i++; $str_cut=substr($str_cut,0,$i).".."; } return$str_cut; } ?>
1.//字符串的反转函数 $str='hello';//---->olleh echostrrev($str).'<br/>';//这是系统提供的函数 //下来自己写一个函数来实现反转 $strArr=str_split($str);//Array([0]=>h[1]=>e[2]=>l[3]=>l[4]=>o) $str1=''; for($i=count($strArr)-1;$i>=0;$i--){ $str1.=$strArr[$i]; } echo$str1; 2.//获取文件的后缀名.jpg或者jpg都可以 $file='abc.exe.jpg'; echostrrchr($file,'.').'<br/>';//这个是使用的系统函数,查找的文件名 echostrrev(strstr(strrev($file),'.',true)).'<br/>';//strstr()返回的是字符串首次出现,加上true表示返回的是.之前的字符串 echosubstr($file,strrpos($file,'.')).'<br/>';//strrpos()返回的是最后一次.出现的位置,然后在进行截取 $strArr=explode('.',$file); echo$strArr[count($strArr)-1].'<br/>';//explode()函数将字符串按点分割成一个数组 //echoarray_pop($strArr).'<br/>'; //echoend($strArr).'<br/>'; echopathinfo($file,PATHINFO_EXTENSION).'<br/>';//pathinfo()函数返回的是文件的路径的信息 echostrrev(substr(strrev($file),0,strpos($file,'.'))).'<br/>'; 3.//将1234567890----->1,234,567,890 $str='1234567890'; $strArr=str_split(strrev($str),3); echostrrev(implode(',',$strArr)).'<br/>';//---->1,234,567,890