php字符串截取 及汉字截取

本文详细介绍了使用PHP进行字符串截取的各种方法,包括利用substr、strpos、explode等函数截取特定符号前后的字符串,以及使用cut_str自定义函数实现更灵活的截取需求。同时,文章还讲解了如何使用mb_substr函数处理中文字符串截取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值