字符串处理函数
本章节列出截至PHP 7.3所有的字符串函数以供参考。
下表以相关性排序。
| 函数名 | 描述 |
|---|---|
| strpbrk() | 查找特定字符串中,以特定字符(单个)位置开始的子串 |
| strpos() | 查找特定子字符串首次出现的位置索引值(从 0 开始) |
| strstr() | 返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分 |
| strchr() | 别名strstr(),返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分 |
| stripos() | 返回特定子字符串首次出现的位置索引,不区分大小写 |
| stristr() | 返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分,不区分大小写 |
| strrchr() | 返回特定字符(单个,如果为多个字符则取第一个字符)在字符串中最后出现的位置,到字符串末尾的部分 |
| strrpos() | 接受多个字符组成的子串,并返回该子串在指定字符串中最后出现的位置索引 |
| strripos() | 接受多个字符组成的子串,并返回该子串在指定字符串中最后出现的位置索引,不区分大小写 |
| trim() | 返回去除指定字符串首尾处的空白字符(或其他字符)后的字符串 |
| ltrim() | 返回去除指定字符串左端的空白符(或其他字符)后的字符串 |
| rtrim() | 返回去除指定字符串右端的空白符(或其他字符)后的字符串 |
| chop() | rtrim()函数的别名。返回去除指定字符串右端的空白符(或其他字符)后的字符串 |
| strip_tags() | 返回去除指定字符串中 HTML 和 PHP 标记后的字符串 |
| nl2br() | 将指定字符串中所有的换行标记(\n、\r)替换成有效的 HTML 换行标记<br /> |
| str_pad() | 向指定字符串填充另一个字符串的特定长度的内容,返回填充后的字符串 |
| str_replace() | 将指定字符串中特定的部分,替换成另一个字符串 |
| str_ireplace() | 将指定字符串中特定的部分,替换成另一个字符串,不区分大小写 |
| substr_replace() | 替换指定位置开始后的子字符串,返回替换后的字符串 |
| substr() | 返回从某位置开始、特定长度的子字符串 |
| count_chars() | 返回指定字符串中,每个字节值出现的次数数组 |
| strlen() | 返回指定字符串的长度 |
| strcspn() | 返回在字符列表中,找到指定字符串中第一次出现字符列表中字符的前面字符的位数 |
| str_repeat() | 返回指定字符串被重复一定次数后的字符串 |
| strrev() | 返回指定字符串被翻转后的字符串 |
| strtok() | 将指定字符串以分界符分割成若干个子字符串,每次只返回一个子字符串 |
| strtr() | 将指定字符替换为另一字符。返回被替换后的字符串 |
| ucfirst() | 将字符串的首字母转换为大写形式 |
| lcfirst() | 将字符串的首字母转换为小写形式 |
| ucwords() | 将字符串中每个英文单词的首字母转换为大写形式 |
| strtolower() | 将字符串中的所有英文字母转换为小写形式 |
| strtoupper() | 将字符串中的所有英文字母转换为大写形式 |
| str_word_count() | 计算字符串中的单词数量 |
| chunk_split() | 将字符串分割成小块 |
| explode() | 使用一个字符串分割另一个字符串,返回被分割后子字符串组成的数组 |
| str_shuffle() | 随机打乱一个字符串 |
| parse_str() | 将字符串解析为多个变量,并以数组元素形式存入数组 |
| str_split() | 将字符串分割成定长的子字符串,然后将其存入数组 |
| implode() | 将一个一维数组的值转化为字符串,返回转化后的结果 |
| join() | 函数implode()的别名。将一个一维数组的值转化为字符串,返回转化后的结果 |
| addslashes() | 在部分特殊字符(单引号'、双引号"、反斜线\以及NULL)前面加上反斜线\ |
| addcslashes() | 以C语言风格使用反斜线对字符串进行转义处理,可对指定字符或字符范围进行转义 |
| quotemeta() | 使用反斜线对部分特殊字符进行转义处理 |
| htmlentities() | 将字符串中的 HTML 字符转换为 HTML 实体 |
| htmlspecialchars() | 与htmlentities()函数类似,它将部分特殊字符转换为 HTML 实体 |
| htmlspecialchars_decode() | 将部分特殊的 HTML 实体转换为普通字符 |
| stripslashes() | 将一个已被函数addslashes()转义的字符串,进行反转义(即去除特殊符号前的斜线) |
| stripcslashes() | 将一个已被函数addcslashes()转义的字符串,进行反转义 |
| get_html_translation_table() | 返回使用函数htmlspecialchars()和htmlentities()后的转换表 |
| html_entity_decode() | 将 HTML 实体转换为相应的字符 |
| hex2bin() | 将十六进制字符串转换为二进制字符串 |
| bin2hex() | 将二进制字符串转换为十六进制字符串 |
| quoted_printable_decode() | 对经过quoted-printable编码过的字符串进行解码,返回8-bit的字符串 |
| quoted_printable_encode() | 将8-bit的字符串转换为quoted-printable字符串 |
| str_getcsv() | 将一个csv格式的字符串解析到一个数组中,返回含有该csv字段值的数组 |
| convert_cyr_string() | 将一个Cyrillic字符转换为另一种Cyrillic字符 |
| convert_uuencode() | 将一个字符串使用uuencode算法进行编码,返回编码后的结果 |
| convert_uudecode() | 对一个使用uuencode算法编码过的字符串进行解码,返回解码后的结果 |
| hebrev() | 将一个逻辑顺序的希伯来文转换为视觉顺序的希伯来文 |
| hebrevc() | 与hebrev()相似,它不仅能将逻辑顺序的希伯来文转换为视觉顺序的希伯来文,还可以转换换行符 |
| crc32() | 计算一个字符串的crc32多项式,结果返回一个循环冗余校验码(crc,cyclic redundancy checksum)多项式 |
| crypt() | 返回一个使用了基于标准UNIX DES算法或其他可用的替代算法生成的散列字符串 |
| substr_count() | 返回指定子字符串在字符串中出现的次数 |
| strspn() | 查找一段连续在指定字符列表中出现的子字符串的长度 |
| sha1() | 计算指定字符串的sha1(美国安全散列算法1)散列值 |
| sha1_file() | 计算指定文件的sha1(美国安全散列算法1)散列值 |
| similar_text() | 根据Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)算法计算两个字符串的相似度 |
| md5() | 计算指定字符串的md5(RSA 数据安全公司的 MD5 报文算法)散列值 |
| md5_file() | 计算指定文件的md5(RSA 数据安全公司的 MD5 报文算法)散列值 |
| metaphone() | 类似于soundex()函数,一个语音算法,利用较大的英语发音规则,填补了soundex()函数算法的缺陷,比之更加精准 |
| nl_langinfo() | 返回指定的当地信息 |
| levenshtein() | 计算两个字符串之间的编辑距离(Levenshtein) |
| soundex() | 利用英文字符的读音计算近似值,该近似值由四个字符组成,第一个为英文字母,后三个为数字 |
| echo() | 该语言结构输出一个或多个字符串,不换行,没有返回值 |
| print() | 该语言结构输出一个字符串,不换行,只返回1 |
| printf() | 将字符串按某种特定格式输出。返回被格式化后的字符串长度 |
| fprintf() | 将格式化后的字符串写入到已打开的文件句柄。返回成功写入的字符串长度 |
| sprintf() | 返回被格式化后的字符串 |
| sscanf() | 根据指定格式解析字符串 |
| vprintf() | 作用与printf()函数类似,输出被格式化后的字符串,并返回输出字符串的长度 |
| vfprintf() | 与fprintf()函数相似,都是将已格式化的字符串写入到已打开的文件句柄 |
| vsprintf() | 作用与sprintf()函数类似,返回被格式化后的字符串 |
| money_format() | 将数字格式化为货币格式的字符串 |
| number_format() | 将一个数字以千位分隔符的方式格式化 |
| str_rot13() | 对指定字符串进行ROT13转换,返回转换后的字符串 |
| wordwrap() | 使用特定字符串将指定字符串打断为指定宽度的子字符串 |
| chr() | 将相应的 ASCII 码(0~255数值)转换为相应的字符 |
| localeconv() | 返回一个包含当地数字与货币信息的数组 |
| ord() | 转换字符串第一个字节为 0-255 之间的值 |
| setlocale() | 设置地区信息 |
| strcmp() | 比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0 |
| strcasecmp() | 与strcmp()函数类似,比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0 |
| strncmp() | 与strcmp()函数类似,都是比较二进制字符串的大小。但可以指定比较的长度 |
| strncasecmp() | 类似于strncmp()函数,比较两个字符串中若干个字符开头是否相同 |
| substr_compare() | 从偏移位置比较指定长度的子字符串是否相同,通常用以检查字符串的开始或结束是否为指定字符串 |
| strcoll() | 基于地域设置比较两个字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0 |
| strnatcmp() | 将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小 |
| strnatcasecmp() | 与strnatcmp()相似,但不区分大小写。将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小 |
本参考手册的格式说明:
- 函数名
- 定义
- 语法
- 函数名
- 参数列表:参数列表中,变量名前是该变量的数据类型,其中特殊的
mixed表示有多种可能的数据类型;使用方括号包裹的参数表示可选 - 返回类型:冒号后面是函数的标准返回类型
- 参数说明
- 示例
- 延展阅读
- 与当前函数具有相关性、相似性的函数