11、PHP字符串截取和截取函数

阅读() @2018-07-15 14:13:32

1、按照字符所在索引进行截取:

$str = 'hello word,my name is zym';
echo substr($str,11);//my name is zym
echo substr($str,11,2);//my

2、按照指定字符进行截取:

$str = 'hello world,my name is zym';
//截取某个字符在字符串中首次出现直到最后的所有字符(从左到右)
echo strchr($str,'my');//my name is zym
//另外一种写法
echo strstr($str,'my');//my name is zym
//不区分大小写的写法
echo stristr($str,'MY');//my name is zym
//截取某个字符在字符串中最后出现到最后的所有字符(从右到左)
echo strrchr($str,'o');//orld,my name is zym
//输出某个字符在字符串中首次出现的位置索引
echo strpos($str,'my');//12
//将字符串拆分成数组
$arry = explode(',',$str);
var_dump($arry);//array(2) { [0]=> string(11) "hello world" [1]=> string(14) "my name is zym" } 

做个实际案例,在一个语句中,找出某个字出现了多少次,分别出现在哪个位置?

$str = 'hello world,my name is zym';
$num=0;
echo '字母【o】出现了位置索引是:';
for($i=0; strpos($str,'o',$i)!=0; $i=strpos($str,'o',$i)+1){
		$num+=1;
		echo strpos($str,'o',$i).'、';//4  7
}
echo '字母【o】总共出现了'.$num.'次';//2

3、通过指定字符将主字符串进行拆分:

string strtok ( string $str , string $token ) string strtok ( string $token )strtok() 将字符串 str 分割为若干子字符串,每个子字符串以 token 中的字符分割。这也就意味着,如果有个字符串是 "This is an example string",你可以使用空格字符将这句话分割成独立的单词。

注意仅第一次调用 strtok 函数时使用 string 参数。后来每次调用 strtok,都将只使用 token 参数,因为它会记住它在字符串 string 中的位置。如果要重新开始分割一个新的字符串,你需要再次使用 string 来调用 strtok 函数,以便完成初始化工作。注意可以在 token 参数中使用多个字符。字符串将被该参数中任何一个字符分割。

$a = 'hello,world,my,name,is,zym';
$b = strtok($a,',');
while($b){
	echo $b.'<br/>';
	$b = strtok(',');
}

4、把查询字符解析到变量中:

$url = 'http://www.zymseo.com?username=zym&sex=男';
$msg = substr($url,(strpos($url,'?')+1));
parse_str($msg);
echo $username;
echo $sex;

5、将字符串每隔n个字符就拆分一次,并插入特定的分隔符:

$a = 'abcdefghijklmnopqrstuvwxyz';
echo chunk_split($a,3,' | ');//abc | def | ghi | jkl | mno | pqr | stu | vwx | yz |
微信二维码
锐壳主机