php字符串截取 及漢字截取

$str='123/456/789/abc';

截取第一個斜槓前面的內容:

 echo substr($str,0,strpos($str, '/'))
    或者:$array=explode('/', $str);
    結果:echo $array[0];// 輸出 123

截取第一個斜槓後面的內容

 substr($str,strpos($str,'/')+1);
//輸出 456/789/abc

截取最後一個斜槓後面的內容

echo trim(strrchr($str, '/'),'/');
或者
$array=explode('/', $str);
echo $array[3];
結果:abc

想要第二個斜槓和第三個斜槓中間的內容

/**
 * 按符號截取字符串的指定部分
 * @param string $str 需要截取的字符串
 * @param string $sign 需要截取的符號
 * @param int $number 如是正數以0爲起點從左向右截  負數則從右向左截
 * @return string 返回截取的內容
 */
function cut_str($str,$sign,$number){
    $array=explode($sign, $str);
    $length=count($array);
    if($number<0){
        $new_array=array_reverse($array);
        $abs_number=abs($number);
        if($abs_number>$length){
            return 'error';
        }else{
            return $new_array[$abs_number-1];
        }
    }else{
        if($number>=$length){
            return 'error';
        }else{
            return $array[$number];
        }
    }
}

echo cut_str($str,'/',0); //輸出 123
echo cut_str($str,'/',2); //輸出 789
echo cut_str($str,'/',-1);//輸出 abc
echo cut_str($str,'/',-3);//輸出 456

中文截取:mb_substr()

mb_substr( $str, $start, $length, $encoding )
$str,需要截斷的字符串 
$start,截斷開始處,起始處爲0 
$length,要截取的字數 
$encoding,網頁編碼,如utf-8,GB2312,GBK

//案例

mb_substr($str,0,4,'utf-8');//截取頭5個字,假定	此代碼所在php文件的編碼爲utf-8 
結果顯示:php中文網

獲取中文長度:mb_strlen()

mb_strlen( $str, $encoding )
$str,要計算長度的字符串 
$encoding,網頁編碼,如utf-8,GB2312,GBK

//案例

echo mb_strlen($str,'utf-8');//假定此代碼所在php文件的編碼爲utf-8 
結果顯示:24
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章