[TOC] ## 【字符串】相关函数 > [ 字符串函数参考](http://php.net/manual/zh/book.strings.php) > utf-8 1字符=3字节 。 gbk 1字符=2字节 ### 去空格或其他字符 * trim() ==>去除字符串首尾处的空白字符(或者其他字符) * ltrim() ==>移除字符串左侧的空白字符或其他字符。 * rtrim() ==>移除字符串右侧的空白字符或其他字符。 * dirname() ==>返回路径中的目录部分 ### 字符串生成与转化 * str_repeat() ==>把字符串重复指定的次数。 * str_split() ==>把字符串分割到数组中。 * strrev() ==>反转字符串。 * wordwrap() ==>按照指定长度对字符串进行折行处理。 * str_shuffle() ==>随机打乱字符串中的所有字符。 * parse_str() ==>将字符串解析成多个变量 * number_format() ==>以千位分隔符方式格式化一个数字(格式货币、数字、时间等。) ``` <?php $str="1234567890.123456"; echo $str."<br>"; // 1234567890.123456 echo number_format($str)."<br>"; // 1,234,567,890 echo number_format($str, 3, ".", ",")."<br>"; // 1,234,567,890.123 ``` * str_pad() ==>把字符串填充为新的长度 函数:str_pad() 按需求对字符串进行填充。 语法:string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] ) STR_PAD_LEFT 字符串左添补 STR_PAD_RIGHT 字符串右添补 STR_PAD_BOTH 字符串两端添补 ``` <?php $str = "LAMP"; echo str_pad($str, 10); //指定长度为10,默认使用空格在右边填补"LAMP“ //指定长度为10,指定在左边填补" -=-=-=LAMP" echo str_pad($str, 10, "-=", STR_PAD_LEFT); //指定长度为10,指定两端填补 " _ _ _LAMP_ _ _“ echo str_pad($str, 10, "_", STR_PAD_BOTH); echo str_pad($str, 6 , "_ _ _"); //指定长度为6, 默认在右边填补" LAMP_ _" ``` ### 大小写转换 * strtolower() ==>把字符串转换为小写字母。 * strtoupper() ==>把字符串转换为大写字母。 * ucfirst() ==>把字符串中的首字符转换为大写。 * ucwords() ==>把字符串中每个单词的首字符转换为大写。 * lcfirst() ==>把字符串的首字符转换为小写。 ### HTML标签相关 * html_entity_decode() ==>把HTML 实体转换为字符。 * htmlentities() ==>把一些预定义的 HTML 实体转换为字符。(可以将所有的非ASCII码转换成对应实体代码。) * htmlspecialchars() ==>把一些预定义的字符转换为 HTML 实体。(把指定特殊符号转换成实体,如<>'&' :'&' '“':'"'''' :''' '< ':'<''>' :'>') * nl2br() ==>在字符串中的每个新行之前插入HTML换行符。(将字符串中”\n”转成HTML换行符“<br />”) * strip_tags() ==>剥去字符串中的 HTML 和 PHP 标签。 * addslashes() ==>返回在预定义的字符前添加反斜杠的字符串。 * stripslashes() ==>删除由 addslashes() 函数添加的反斜杠。 * quotemeta() ==>在字符串中某些预定义的字符前添加反斜杠。 * ord() ==>返回字符串的首个字符的ASCII值 * chr() ==>从指定的 ASCII 值返回字符。 ### 字符串比较 * strcasecmp() ==>比较两个字符串(对大小写不敏感)(不区分大小写的全串比较) * strcmp() ==>比较两个字符串(对大小写敏感)(整个比较是否相同) * strncmp();(指定比较长度的字符串比较) ### 字符串切割与拼接 * substr() ==>返回字符串的一部分。 * strtok() ==>把字符串分割为更小的字符串。 * explode() ==>把字符串打散为数组。 * implode() ==>返回由数组元素组合成的字符串。 ### 字符串查找替换 * str_replace() ==>替换字符串中的一些字符(对大小写敏感) * str_ireplace() ==>替换字符串中的一些字符(对大小写不敏感) * substr_count() ==>计算子串在字符串中出现的次数。 * substr_replace() ==>把字符串的一部分替换为另一个字符串。 * strchr() ==>查找字符串在另一字符串中的第一次出现(strstr()的别名) * strstr() ==>查找字符串在另一字符串中的第一次出现(对大小写敏感)。 * stristr() ==> 查找字符串在另一字符串中的第一次出现(忽略大小写版本)。 * strtr() ==>转换字符串中特定的字符。 * strpos() ==>返回字符串在另一字符串中第一次出现的位置(对大小写敏感) * strripos() ==> 查找字符串在另一字符串中最后一次出现的位置(不区分大小写) * strrpos() ==> 查找字符串在另一字符串中最后一次出现的位置(区分大小写) ### 字符串统计 * str_word_count() ==>计算字符串中的单词数 * strlen() ==>返回字符串的长度。 * count_chars() ==>返回有关字符串中所用字符的信息。 ### 字符串编码 * sha1() ==>计算字符串的SHA-1散列 * md5() ==>计算字符串的 MD5 散列 ### printf与sprintf都是格式化字串: ``` %% 返回百分比符号 %b 二进制数 %c 依照ASCII值的字符 %d 带符号十进制数 %e 可续计数法(如1.5e3) %u 无符号十进制数 %f或%F 浮点数 %o 八进制数 %s 字符串 %x或%X 十六进制数 ```