php 截取字符串

本文介绍了如何使用PHP的substr和mb_substr函数进行字符串截取,包括仅英文字符的处理及中英文混合的情况,并展示了不同参数组合的效果。

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

只适合英文的截取字符串,一个字节一个长度,一个中文字符长度是3。

<meta charset="UTF-8"> 
<?php
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
echo "原字符串:$str <br>";
//按各种方式进行截取
$str1 = substr($str,5);
echo "从第5个字符开始取至最后:$str1 <br>";
$str2 = substr($str,9,4);
echo "从第9个字符开始取4个字符:$str2 <br>";
$str3 = substr($str,-5);
echo "取倒数5个字符:$str3";
$str4 = substr($str,-8,4);
echo "从倒数第8个字符开始向后取4个字符:$str4 <br>";
$str5 = substr($str,-8,-2);
echo "从倒数第8个字符开始取到倒数第2个字符为止:$str5 <br>";
?>

效果图:

 

如果是中文,或中英混合,使用 mb_substr() 来截取。推荐使用。

<meta charset="UTF-8"> 
<?php 
//必须要加字符编码,否则截取会出问题
//mb_substr(),是不管中英文,一个字符一个长度,而不是一个字节一个长度
//例如:AB阅谁是四个字符,所以长度是4
$str ="阅谁问君诵,水落清香浮。";
echo mb_strlen($str,'utf-8')>10?mb_substr($str,0,8, 'utf-8').'..':$str;
echo '<br>';
$str2 = "AB阅谁问君诵,水落清香浮。CDEFGHIJKLMNOPQRSTUVWXYZ";
echo mb_strlen($str2,'utf-8')>18?mb_substr($str2,0,16, 'utf-8').'..':$str2;
?>

效果图:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值