PHP字符串处理函数(二)

explode()
字符串分割函数,该函数会返回一个字符串被分割后的数组。
参数(共三个,一个可选):explode(分隔符,需要分割的字符串,[可选参数,整数,返回数组的最大元素个数]);
例1:
$str="this|is|a|demo";
$arr=explode("|",$str); //以|符号为分界符把字符串 $str分割成了4个字符串
print_r($arr);
输出结果:
Array ( [0] => this [1] => is [2] => a [3] => demo ) //共分割成了4个字符串
例2://给定分割字符串的个数参数
$str="this|is|a|demo";
$arr=explode("|",$str, 2); //以|符号为分界符把字符串 $str分割成了4个字符串
print_r($arr);
输出结果:
Array ( [0] => this [1] => is|a|demo )  //根据给出的分割个数参数,把字符串分割成了2个字符串。
implode() 别名 join() //两个函数得到的运行结果一样
字符串联合函数;把一组字符串联合成一个字符串。
参数:两个,implode(联合的字串,字符串数组)
例如:
$arr=array("this","is","a","demo");
$str=implode("#",$arr); //用#号联合数组$arr中的各个字符串
echo $str;
输出结果:
this#is#a#demo //用#号联合后的一个字符串
substr()
取字符串中指定位置的部分字符串
参数:共三个,一个可选,substr(字符串,开始位置[,可选,取字符长度])
如果没有给出可选参数,将从给定的开始位置取到整个字符串的最后。如果给出,将取给定的长度的字符串。
例如:
$str="abcdefghijklmnopqrst";
$newstr=substr($str,2,5); //给定了取字符串的开始位置2和字符串需要取的长度5个
echo "$newstr";
输出结果:cdefg //从c开始向后取了5个字符。
strstr() 别名 strchr() //两个函数功能一样
参数两个,strstr(字符串a,字符串b);
返回字符串a中指定字符串b开始处至结尾的字符串,如果指定的字符串b在字符串a中多次出现,那么将返回从第一次出现的位置开始到字符串a的结尾。
例如:
$str="this is a demo";
$newstr=strstr($str,"is"); //返回$str字符串中is开始到$str结束的字符串
echo "$newstr";
输出结果:is is a demo
strpos() //返回整型数据
查找字符串中某字符最先出现的位置
参数:共3个,1个可选,strpos(被查找的字符串,查找的字符,[偏移量,查找的起始位置])
例如:
$str="this is a demo";
$n=strpos($str,"s",5); //设定了查找s字符的起始位置是第五个开始,而this中的s在第五个前面,将会被跳过
echo $n;
输出结果:6
如果没有设置偏移量
例如:
$str="this is a demo";
$n=strpos($str,"s"); //没有设置偏移量,将返回this中的s的位置
echo $n;
输出结果:3
strrpos() //返回整型数据
查找字符串中某字符最后出现的位置
参数:共2个,strpos(被查找的字符串,查找的字符)
例如:
$str="this is a demo";
$n=strrpos($str,"s"); //查找$str字符串中s最后出现的位置
echo $n;
输出结果:6
strrchr() //返回一个字符串
返回字符串a中,某字符最后出现的位置到字符串a的最后位置的字符串
参数:两个,strrchr(字符串,字符)
例如:
$str="this is a demo";
$newstr=strrchr($str,"s"); //返回从$str字符串中最后一个s出现的位置到$strz末尾的字符串
echo $newstr;
输出结果:s a demo
str_pad()
字符串填补函数
参数:共4个,str_pad(需要处理的字符串,处理的长度,填充的字符,填充方向)填充方向有三个可选常量分别是:
1、 STR_PAD_LEET 向左填充
2、 STR_PAD_RIGHT 向右填充
3、 STR_PAD_BOTH 向两边平均填充
例:
$str="abcde";
$newstr=str_pad($str,20,"@",STR_PAD_LEET); //把字符串$str向左(STR_PAD_LEET)填充到20位,不足的部分,用函数参数中设定的"@"填充。
echo $newstr;
输出结果:@@@@@@@@@@@@@@@abcde
如果,字符串长度超过了函数参数中设定的位数,将返回字符串的原型。如:
$str="abcdeefghijklmnopqrst";
$newstr=str_pad($str,20,"@",STR_PAD_LEET); //字符串$str长度大于等于20位,返回字符串的原型
echo $newstr;
输出结果:abcdeefghijklmnopqrst
==========================================================================
==========================================================================
利用字符串相关处理函数获得一个网址后面文件名的方法:
<?php
$url="http://www.uuiso.net/forum.php "; //定义网址字符串变量
$n=strrpos($url,"/")+1;  //使用strrpos()函数获得最后一个"/"的位置加1就是文件名的开始位置。
$filename=substr($url,$n); //利用substr函数获取文件名开始位置到最后位置的字符串,即需要获取的文件名
echo "$filename"; //输出文件名
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值