php中如何截取字符串

  介绍

这篇文章主要介绍php中如何截取字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php截取字符串方法有:1,使用substr函数截取字符串;2、使用mb_substr函数截取字符串;3、使用自定义的“功能mysubstr (str,美元开始,len美元){}”方法截取字符串等等。

<强> php截取字符串几个实用的函数

1. substr(源字符串,其实位置[,长度])——截取字符串返回部分字符串

& lt; php ?   str 美元;=?phpddt.com";   echo  substr (str美元,2);//pddt.com   echo  substr (str美元,2、3);//pdd   echo  substr (str美元,2);//om 负数从结尾开始取   祝辞;

但是当你截取中文字符串的时候很容易出现乱码,因为一个汉字是两个字节,而一个英文字母是一个字节。解决办法如下:

2. mb_substr(),使用方法和子串相同,不过要开启php . ini里=php_mbstring面扩展。dll扩展,不用担心,一般的空间商都会开启这个扩展的。

& lt; php ?   echo  mb_substr (“php点点通“,1,3,“UTF-8");//惠普点   ?在

代码如下:

substr(字符串,开始,长度)

其中开始的参数

正数——在字符串的指定位置开始

负数——在从字符串结尾的指定位置开始

0 -在字符串中的第一个字符处开始

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

strstr()函数搜索一个字符串在另一个字符串中的第一次出现。

该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回错误的。

strstr (& # 39; abc@jb51.net& # 39;,, & # 39; @ # 39;,,真的),,//参数设定真的,,返回查找值@之前的首部,abc   strstr (, & # 39; abc@jb51.net& # 39;,, & # 39; @ # 39;);,//默认返回查找值@之后的尾部,@jb51.net

网上也有很多中文字符串截取教程,实现起来比较复杂,感觉还是用php自带的函数实现起来比较好。整理的网络资料(php代码)如下:

(1)截取GB2312中文字符串

& lt; php ?//截取GB2312中文字符串   function  mysubstr (str美元,美元开始,len美元){   tmpstr 美元;=?”;   $ strlen =, start 美元;+,len美元;   (小姐:美元=0;,美元小姐:& lt;, strlen;美元,美元我+ +){   如果(奥德(substr (str美元,,i, 1))在0 xa0) {   tmpstr 美元。=,substr (str美元,,i, 2);   美元我+ +;   其他}   tmpstr 美元。=,substr (str美元,,i, 1);   }   return  tmpstr美元;   }   echo  mysubstr (“php点点通“,1,5);//php点   ?在

(2)截取utf8编码的多字节字符串

& lt; php ?//截取utf8字符串   function  utf8Substr (str美元,,,,len美元)   {   return  preg_replace (& # 39; # ^ (?: [\ x00 - \ x7F] | [\ xC0 - \ xFF] [\ x80 - \ xBF] +){0, & # 39;。美元从强生# 39;}& # 39;。   & # 39;((?):[\ x00 - \ x7F] | [\ xC0 - \ xFF] [\ x80 - \ xBF] +){0, & # 39;。美元len强生# 39;})。* # & # 39;,   & # 39;& # 39;1美元,美元str);   }   echo  utf8Substr (“php点点通“,1,5);//惠普点点通   ?在

(3)支持utf - 8, gb2312都支持的汉字截取函数

& lt; php ?//同时支持,utf - 8, gb2312都支持的汉字截取函数,,默认编码是utf - 8   function  cut_str(字符串,美元,sublen美元,美元start =0,, code 美元;=& # 39;utf - 8 # 39;)   {   if ($ code ==& # 39; utf - 8 # 39;)   {   pa 美元;=?[\ x01 - \ x7f] | [\ xc2 - \ xdf] [\ x80 - \ xbf] | \ xe0 [\ xa0 - \ xbf] [\ x80 - \ xbf] | [\ xe1 - \ xef] [\ x80 - \ xbf] [\ x80 - \ xbf] | \ xf0 [\ x90 - \ xbf] [\ x80 - \ xbf] [\ x80 - \ xbf] | [\ xf1 - \ xf7] [\ x80 - \ xbf] [\ x80 - \ xbf] [\ x80 - \ xbf]/?;   preg_match_all (pa,美元,字符串,美元,美元t_string);如果(count ($ t_string[0])安康;start 美元;祝辞,sublen美元)return 加入(& # 39;& # 39;,,array_slice (t_string美元[0],,首先,美元,美元sublen)) !”…“;   return 加入(& # 39;& # 39;,,array_slice (t_string美元[0],,首先,美元,美元sublen));   }   其他的   {   $ start =,美元开始* 2;   $ sublen =, sublen * 2美元;   $ strlen =, strlen ($ string);   $ tmpstr =& # 39; & # 39;; (i=0美元;,i<美元;strlen;美元,美元我+ +)   {   如果(i>美元;=$ start ,,, i<美元;(开始+ sublen美元))   {   如果(奥德(substr(字符串,美元,美元我,1))在129年)   {   tmpstr美元。=,substr(字符串,美元,美元,2);   }   其他的   {   tmpstr美元。=,substr(字符串,美元,美元我,1);   }   }   如果(奥德(substr(字符串,美元,美元我,1))在129年),美元我+ +;   }   如果(strlen (tmpstr美元)& lt; strlen 美元),tmpstr美元。=啊?   return  tmpstr美元;   }   }   $ str =皃hp点点通提供原创php教程“;   echo  cut_str (str美元8 0);//php点点通提供…   ?在

php中如何截取字符串