php自帶的一個(gè)截取字符串的函數(shù),只能處理英文,數(shù)字的不能截取中文混排的哦,有需要的朋友可以參考,后面的比較好用,第一個(gè)主要是給初學(xué)者學(xué)學(xué)用的。
php
//構(gòu)造字符串
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
echo "原字符串:".$str."
";
//按各種方式進(jìn)行截取
$str1 = substr($str,5);
echo "從第5個(gè)字符開始取至最后:".$str1."
";
$str2 = substr($str,9,4);
echo "從第9個(gè)字符開始取4個(gè)字符:".$str2."
";
$str3 = substr($str,-5);
echo "取倒數(shù)5個(gè)字符:".$str3."
";
$str4 = substr($str,-8,4);
echo "從倒數(shù)第8個(gè)字符開始向后取4個(gè)字符:".$str4."
";
$str5 = substr($str,-8,-2);
echo "從倒數(shù)第8個(gè)字符開始取到倒數(shù)第2個(gè)字符為止:".$str5."
";
?>
支持中英文混合截取。
/*
------------------------------------------------------
參數(shù):
$str_cut 需要截?cái)嗟淖址?/P>
$length 允許字符串顯示的最大長度
程序功能:截取全角和半角(漢字和英文)混合的字符串以避免亂碼
------------------------------------------------------
*/
function substr_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;
}
?>
二.
<strong>
1.//字符串的反轉(zhuǎn)函數(shù)
</strong>$str='hello';//---->olleh
echo strrev($str).'<br />';//這是系統(tǒng)提供的函數(shù)
//下來自己寫一個(gè)函數(shù)來實(shí)現(xiàn)反轉(zhuǎn)
$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;
<strong>2.//獲取文件的后綴名 .jpg或者jpg都可以
</strong>$file='abc.exe.jpg';
echo strrchr($file,'.').'<br />';//這個(gè)是使用的系統(tǒng)函數(shù),查找的文件名
echo strrev(strstr(strrev($file),'.',true)).'<br />';//strstr()返回的是字符串首次出現(xiàn),加上true表示返回的是. 之前的字符串
echo substr($file,strrpos($file,'.')).'<br />';//strrpos()返回的是最后一次.出現(xiàn)的位置,然后在進(jìn)行截取
$strArr=explode('.',$file);
echo $strArr[count($strArr)-1].'<br />';//explode()函數(shù)將字符串按點(diǎn)分割成一個(gè)數(shù)組
//echo array_pop($strArr).'<br />';
//echo end($strArr).'<br />';
echo pathinfo($file,PATHINFO_EXTENSION).'<br /> ';//pathinfo()函數(shù)返回的是文件的路徑的信息
echo strrev(substr(strrev($file),0,strpos($file,'.'))).'<br /> ';
<strong>3.//將1234567890----->1,234,567,890
</strong>$str='1234567890';
$strArr=str_split(strrev($str),3);
echo strrev(implode(',',$strArr)).'<br />';//---->1,234,567,890