这篇文章主要介绍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中如何截取字符串