您当前的位置:首页 > 互联网教程

php怎么截取字符后面几个字符

发布时间:2025-05-13 05:24:50    发布人:远客网络

php怎么截取字符后面几个字符

一、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";