php怎么截取字符后面几个字符
发布时间:2025-05-13 05:24:50 发布人:远客网络
一、php怎么截取字符后面几个字符
1、$str1= substr($str,5)截取后面5个字符。
2、1:$str1= substr($str,5);这句是从第5个字符开始截取到最后strlen($str)这句是获取字符串长度假设你要截取后面3个字符,那就这样写$str1= substr($str,(strlen($str)-3))。
3、2:只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了。
4、3:PHP中的substr()函数可以实现 substr()函数返回字符串的一部分,substr(string,start,length)。
5、4:string必需,规定要返回其中一部分的字符串,start必需,规定在字符串的何处开始,正数-在字符串的指定位置开始负数-在从字符串结尾的指定位置开始 0-在字符串中的第一个字符处开始 length可选,规定要返回的字符串长度。默认是直到字符串的结尾,正数-从 start参数所在的位置返回负数-从字符串末端返回。
二、php如何获取中文字符长度,一个中文字符算一个
在PHP中专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启。要在php.ini中开启即可。获取长度实例:1,utf-8环境下使用
header('Content-type:text/html;charset=utf-8');
*@param$type计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符
if(function_exists('mb_strlen')){
returnmb_strlen($str,'utf-8');
preg_match_all("/./u",$str,$ar);
$str='我们都是中国人啊,ye!';
$len=abslength($str,'1');
echo'<br/>'.$len;//return22
utf-8编码下截取中文字符串,参数可以参照substr函数
@param$start要进行截取的开始位置,负数为反向截取
functionutf8_substr($str,$start=0){
if(function_exists('mb_substr')){
returnmb_substr($str,$start,$end,'utf-8');
mb_internal_encoding("UTF-8");
preg_match_all("/./u",$str,$ar);
returnjoin($null,array_slice($ar[0],$start,$end));
returnjoin($null,array_slice($ar[0],$start));
$str2='wo要截取zhongwen';
echoutf8_substr($str2,0,-4);//returnwo要截取zhon
2,支持gb2312,gbk,utf-8,big5中文截取方法
2,支持gb2312,gbk,utf-8,big5中文截取方法
*中文截取,支持gb2312,gbk,utf-8,big5
*@param string$str要截取的字串
*@param string$charset utf-8|gb2312|gbk|big5编码
public function csubstr($str,$start=0,$length,$charset="utf-8",$suffix=true)
if(function_exists("mb_substr"))
if(mb_strlen($str,$charset)<=$length) return$str;
$slice= mb_substr($str,$start,$length,$charset);
$re['utf-8']="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312']="/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk']="/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5']="/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset],$str,$match);
if(count($match[0])<=$length) return$str;
$slice= join("",array_slice($match[0],$start,$length));
if($suffix) return$slice."…";
三、php正则表达式字符串中提取数字,并截取其中的6位
1、思路:首先移除非数字内容(利用正则),然后使用字符串进行截取(substr)。写成函数可以直接调用。代码如下:
2、functionProcessString($str,$start,$len){
3、$result=preg_replace("/[\D]/","",$str);//利用正则替换掉非数字内容
4、returnsubstr($result,$start,$len);//利用substr进行字符截取
5、$str="b37ba964bb7dfab1869e1cf8";
6、echoProcessString($str,1,4);//7964字符由零开始,1表示第二位,4表示截取长度
7、echoProcessString($str,2,5);//96471//其中$str为要处理的字符串,$start是截取数字的起始位置$lend表示要处理的长度
如果 b37ba964bb7dfab1869e1cf8的值是“$key”调用应该这样写(利用以上函数):
8、如果 b37ba964bb7dfab1869e1cf8的值是“$key”调用应该这样写(利用以上函数):
9、$key="b37ba964bb7dfab1869e1cf8";