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

你可能感兴趣的:(php)