您好,欢迎访问三七文档
4.2PHP字符串处理PHP的字符串处理功能非常强大,主要包括:字符串输出echo():输出一个或多个字符串print():输出一个字符串printf():输出格式化字符串字符串去除trim():去除字符串首尾空白等特殊符号或指定字符序列ltrim():去除字符串首空白等特殊符号或指定字符序列rtrim():去除字符串尾空白等特殊符号或指定字符序列chop():同rtrim()字符串连接implode():使用字符将数组的内容组合成一个字符串join():同implode()字符串分割explode():使用一个字符串分割另一个字符串str_split():将字符串分割到数组中字符串获取substr():从字符串中获取其中的一部分strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符subchr():同strstr()strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符字符串替换substr_replace():把字符串的一部分替换为另一个字符串str_replace():使用一个字符串替换字符串中的另一些字符字符串计算strlen():取得字符串的长度strpos():定位字符串第一次出现的位置strrpos():定位字符串最后一次出现的位置字符串XHTML格式化显示nl2br():将换行符n转换成XHTML换行符br/htmlspecialchars():把一些特殊字符转换为HTML实体htmlspecialchars_decode():把一些HTML实体转换为特殊字符,htmlspecialchars()的反函数字符串存储(转义)addslashes():对特殊字符加上转义字符。stripslashes():addslashes()的反函数。PHP字符串输出用于字符串输出的函数主要有:echo():输出一个或多个字符串print():输出一个字符串printf():输出格式化字符串echo()echo()是指令而不是函数,它没有返回值,可以输出一个或多个字符串。语法:voidecho(stringarg1[,string...])例子:?php$foo=foobar;$bar=barbaz;echo$foo,$bar;//输出foobarbarbazechobr/;echo$foo[3];//输出第4个字符bechobr/;echofoois$foo;//输出fooisfoobarechobr/;echo'foois$foo';//输出foois$foo?说明双引号内的变量会被解释,而单引号内的变量则原样输出,参考《PHP数据类型-字符串(string)类型》。字符串计算是从0开始计数print()print()用于输出一个字符串。print()是函数,返回一个整型,但只能有一个参数,其用法同echo,但不能输出数组和对象。语法:intprint(stringarg)printf()printf()用于格式化输出字符串,返回一个整型。语法:intprintf(stringformat,arg1,arg2,...)format为字符串以及变量的格式化方式,arg1为插入第一个%符号处的参数,agr2等以此类推。格式化方式说明:格式化方式说明%d十进制有符号整数%u十进制无符号整数%f浮点数%s字符串%c单个字符%p指针的值%e指数形式的浮点数%x/%X无符号以小/大写十六进制表示的整数%o无符号以八进制表示的整数%g自动选择合适的表示法例子:?php$str=This;$number=31;printf(%smonthhas%udays,$str,$number);//输出Thismonthhas31days?PHP字符串去除trim、ltrim与rtrim函数PHP字符串去除用于去除字符串首尾空白等特殊符号或指定的字符。相关函数如下:trim():去除字符串首尾空白等特殊符号或指定字符序列ltrim():去除字符串首空白等特殊符号或指定字符序列rtrim():去除字符串尾空白等特殊符号或指定字符序列chop():同rtrim()trim()去除字符串首尾空白等特殊符号或指定字符序列。语法:stringtrim(stringstr[,charlist])当设定字符序列charlist参数时,trim()函数将去除字符串首尾的这些字符,否则trim()函数将去除字符串首尾的以下这些特殊字符:字符说明空格ttab键n换行符racarriagereturn空字符x0Baverticaltab例子:?php$text=HelloWorld;$trimmed=trim($text);echo$trimmed;//输出HelloWorldechobr/;echotrim($trimmed,Hdle);//输出oWorechobr/;echotrim($text,Hdle);//输出oWorld?从这个例子可以看出,trim()函数将不会去除非首尾的charlist。ltrim()去除字符串首的特殊符号或指定字符序列,用法同trim()。语法:stringltrim(stringstr[,charlist])rtrim()去除字符串尾的特殊符号或指定字符序列,用法同trim()。语法:stringrrim(stringstr[,charlist])PHPimplode函数:将数组元素组合为字符串PHPimplode()implode()函数用于将数组元素组合为一个字符串,并返回该字符串。语法:stringimplode(stringglue,arrayarray)参数说明:参数说明Glue(胶水)连接数组元素的字符array需要组合为字符串的数组连接符为^的例子:?php$array=array('姓名','电话','电子邮箱');$char=implode(^,$array);echo$char;?浏览器输出:姓名^电话^电子邮箱可以使用空格作为连接符:?php$char=implode(,$array);?提示根据实际情况,可以选择空格作为连接符或者特殊符号作为连接符以便后续的字符串处理操作。连接符参数glue默认是可以为空的,但为了向后兼容,推荐仍然使用该参数。本函数可安全用于二进制对象。join()join()为implode()的别名函数。implode()函数的反函数为explode():使用一个分割符号分割一个字符串并组成数组。PHP字符串分割explode与str_split函数PHP字符串分割用于分割字符串。相关函数如下:explode():使用一个字符串分割另一个字符串str_split():将字符串分割到数组中explode()本函数为implode()的反函数,使用一个字符串分割另一个字符串,返回一个数组。语法:arrayexplode(stringseparator,stringstring[,intlimit])参数说明:参数说明separator分割标志string需要分割的字符串limit可选,表示返回的数组包含最多limit个元素,而最后那个元素将包含string的剩余部分,支持负数。例子:?php$str='one|two|three|four';print_r(explode('|',$str));print_r(explode('|',$str,2));//负数的limit(自PHP5.1起)print_r(explode('|',$str,-1));?输出结果如下:Array([0]=one[1]=two[2]=three[3]=four)Array([0]=one[1]=two|three|four)Array([0]=one[1]=two[2]=three)str_split()str_split()将字符串分割为一个数组,成功返回一个数组。语法:arraystr_split(stringstring[,intlength])参数说明:参数说明string需要分割的字符串length可选,表示每个分割单位的长度,不可小于1例子:?php$str='onetwothree';$arr1=str_split($str);$arr2=str_split($str,3);print_r($arr1);print_r($arr2);?输出结果如下:Array([0]=o[1]=n[2]=e[3]=[4]=t[5]=w[6]=o[7]=[8]=t[9]=h[10]=r[11]=e[12]=e)Array([0]=one[1]=tw[2]=ot[3]=hre[4]=e)PHP字符串获取substr与strstr函数PHP字符串获取用于从字符串中获取指定字符串。相关函数如下:substr():从字符串中获取其中的一部分strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符subchr():同strstr()strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符substr()substr()函数用于从字符串中获取其中的一部分,返回一个字符串。语法:stringsubstr(stringstring,intstart[,intlength])参数说明如下:参数说明string要处理的字符串start字符串开始位置,起始位置为0,为负则从字符串结尾的指定位置开始length可选,字符串返回的长度,默认是直到字符串的结尾,为负则从字符串末端返回例子:?phpechosubstr('abcdef',1);//输出bcdefechosubstr('abcdef',1,2);//输出bcechosubstr('abcdef',-3,2);//输出deechosubstr('abcdef',1,-2);//输出bcd?提示如果start是负数且length小于等于start,则length为0。strstr()查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果没找到则返回FALSE。语法:stringstrstr(stringstring,stringneedle)参数说明如下:参数说明string要处理的字符串needle要查找的字符串,如果是数字,则搜索匹配数字ASCII值的字符例子:?php$email='user@5idev.com';$domain=strstr($email,'@');echo$domain;//输出@5idev.com?提示该函数对大小写敏感。如需进行大小写不敏感的查找,请使用stristr()。strchr()同strstr()。strrchr()查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果没找到则返回FALSE。语法:stringstrrchr(stringstring,stringneedle)该函数行为同strstr()函数,参数意义可参见上面strstr()函数参数说明。例子:?php$str=AAA|BBB|CCC;echostrrchr($str,|);?运行例子,输出:|CCC结合substr()函数便可以实现截取某个最后出现的字符后面的所有内容这一功能:?php$str=AAA|BBB|CCC;echosubstr(strrchr($str,|),1);?
本文标题:第四章字符串处理
链接地址:https://www.777doc.com/doc-2168895 .html