PHP字符串深入

1、字符串长度

纯单字节字符组成的字符串可以使用strlen(str)来求字符串长度,

对于包含多字节字符的字符串,需要开启mbstring扩展,使用mb_strlen函数:mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

str

  要检查长度的字符串。

encoding

  encoding 参数为字符编码。如果省略,则使用内部字符编码。

返回值

  返回具有 encoding 编码的字符串 str 包含的字符数。 多字节的字符被计为 1。

  如果给定的 encoding 无效则返回 FALSE。 

2、字符串截取

2.1、根据字符截取

strstr($str,$substr);返回$str中$substr第一次出现的位置之后的子串(包括第一个$substr)
strrchr($str,'.');返回$str中$substr最后一次出现的位置之后的子串(包括最后一个$substr)

2.2、根据索引截取

substr($str,$start[,$length]);

3、字符串查找子串位置

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ):strpos($str,'w')返回子串第一次出现的位置

strrpos($str,'w') 返回子串最后一次出现的位置

4、字符串分割

explode — 使用一个字符串分割另一个字符串

array explode ( string $delimiter , string $string [, int $limit ] )

反向操作:implode — 将一个一维数组的值转化为字符串:string implode ( string $glue , array $pieces )

5、替换

str_replace():mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

6、大小写转换

strtolower()转小写
strtoupper()转大写
ucfirst()字符串首字母大写
ucwords()每个单词首字母大写

7、去除指定字符

trim()、ltrim()、rtrim()

string trim ( string $str [, string $character_mask ] )
通过参数 character_mask,你也可以指定想要删除的字符,简单地列出你想要删除的所有字符即可。使用..,可以指定字符的范围。

如果不指定第二个参数,则默认删除空白字符

空白字符包括:
" " (ASCII 32 (0x20)),普通空白字符。
"\t" (ASCII 9 (0x09)), 制表符.
"\n" (ASCII 10 (0x0A)),换行符。
"\r" (ASCII 13 (0x0D)),回车符。
"\0" (ASCII 0 (0x00)), NUL空字节符。
"\x0B" (ASCII 11 (0x0B)),垂直制表符。

8、字符串填充

str_pad()使用另一个字符串填充字符串为指定长度
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
该函数返回 input 被从左端、右端或者同时两端被填充到制定长度后的结果。如果可选的 pad_string 参数没有被指定,input 将被空格字符填充,否则它将被 pad_string 填充到指定长度。
str_repeat — 重复一个字符串
string str_repeat ( string $input , int $multiplier )返回 input 重复 multiplier 次后的结果。

9、翻转字符串:strrev()

10、随机打乱字符串顺序:str_shuffle()

11、与html标签相关

nl2br()把\n转成br标签
htmlspecialchars — 将特殊字符转换为 HTML 实体 '、"、<、>、&
htmlspecialchars_decode() - 将特殊的 HTML 实体转换回普通字符
strip_tags — 从字符串中去除 HTML 和 PHP 标记
string strip_tags ( string $str [, string $allowable_tags ] )
addslashes — 使用反斜线引用字符串
转义'、"、\,在它们前面加\'、\"、\\,默认php开启
stripslashes()去掉addslashes默认加的\

12、与URL有关函数

pathinfo()把地址生成数组
pathinfo("/web/www/user/index.php")返回如下数组
目录名•[dirname] => /web/www
文件名•[basename] => index.php
后缀•[extension] => php
前缀•[filename] => index
parse_url()分析url
•[scheme] => http
•[host] => www.baidu.com
•[path] => /web/www/index.class.php
•[query] => id=10&name=user1
parse_str()分析url参数
•[id] => 10
•[name] => user1

13、number_format()以千位分隔符方式格式化一个数字字符串

本函数可以接受1个、2个或者4个参数(注意:不能是3个):
如果只提供第一个参数,number的小数部分会被去掉 并且每个千位分隔符都是英文小写逗号","
如果提供两个参数,number将保留小数点后的位数到你设定的值,其余同楼上
如果提供了四个参数,number 将保留decimals个长度的小数部分, 小数点被替换为dec_point,千位分隔符替换为thousands_sep

14、加密:md5()等等

15、涉及到多字节字符时必须使用mbstring扩展函数

16、字符串比较

strcmp($str1,$str2); 该函数区分大小写
strcasecmp($str1,$str2); 该函数不区分字母大小写

猜你喜欢

转载自www.cnblogs.com/chuanzi/p/10364010.html