更多强大的字符串处理函数,参见 POSIX 正则表达式函数和 Perl 兼容正则表达式函数。
字符串函数 | ||||||
函数名 | 描述 | 实例 | 输入 | 输出 | 操作 | |
去空格或或其他字符: | ||||||
trim() | 删除字符串两端的空格或其他预定义字符 | $str = "\r\nHello World!\r\n"; echo trim($str); |
目标字串 | 清除后的字符串 | hello world! | |
rtrim() | 删除字符串右边的空格或其他预定义字符 | $str = "Hello World!\n\n"; echo rtrim($str); |
hello world | |||
chop() | rtrim()的别名 | |||||
ltrim() | 删除字符串左边的空格或其他预定义字符 | $str = "\r\nHello World!"; echo ltrim($str); |
hello world | |||
dirname() | 返回路径中的目录部分 | echo dirname("c:/testweb/home.php"); | 一个包含路径的字符串 | 返回文件路径的目录部分//c:/testweb | ||
字符串生成与转化: | ||||||
str_pad() | 把字符串填充为指定的长度 | $str = "Hello World"; echo str_pad($str,20,"."); |
要填充的字符串|新字符串的长度|供填充使用的字符串,默认是空白 | 完成后的字符串 | ||
str_repeat() | 重复使用指定字符串 | echo str_repeat(".",13); | 要重复的字符串|字符串将被重复的次数 | 13个点 | ||
str_split() | 把字符串分割到数组中 | print_r(str_split("Hello")); | 要分割的字符串|每个数组元素的长度,默认1 | 拆分后的字符串数组 | ||
strrev() | 反转字符串 | echo strrev("Hello World!"); | 目标字符串 | 颠倒顺序后的字符串!dlroW olleH | ||
wordwrap() | 按照指定长度对字符串进行折行处理 | $str = "An example on a long word is: Supercalifragulistic"; echo wordwrap($str,15); |
目标字符串|最大宽数 | 折行后的新字符串 | ||
str_shuffle() | 随机地打乱字符串中所有字符 | echo str_shuffle("Hello World"); | 目标字符串 | 顺序打乱后的字符串 | ||
parse_str() | 将字符串解析成变量 | parse_str("id=23&name=John%20Adams",$myArray); print_r($myArray); |
要解析的字符串|存储变量的数组名称 | 返回Array( [id] => 23 [name] => John Adams) |
||
number_format() | 通过千位分组来格式化数字 | 要格式化的数字|规定多少个小数|规定用作小数点的字符串|规定用作千位分隔符的字符串 | 1,000,000 1,000,000.00 1.000.000,00 |
|||
大小写转换: | ||||||
strtolower() | 字符串转为小写 | echo strtolower("Hello WORLD!"); | 目标字符串 | 小写字符串 | ||
strtoupper() | 字符串转为大写 | echo strtoupper("Hello WORLD!"); | 大写字符串 | |||
ucfirst() | 字符串首字母大写 | echo ucfirst("hello world"); | Hello world | |||
ucwords() | 字符串每个单词首字符转为大写 | echo ucwords("hello world"); | Hello World | |||
html标签关联: | ||||||
htmlentities() | 把字符转为HTML实体 | $str = "John & 'Adams'"; echo htmlentities($str, ENT_COMPAT); |
John & 'Adams' | |||
htmlspecialchars() | 预定义字符转html编码 | |||||
nl2br() | \n转义为 标签 |
echo nl2br("One line.\nAnother line."); | 处理后的字符串 | |||
strip_tags() | 剥去 HTML、XML 以及 PHP 的标签 | echo strip_tags("Hello world!"); | ||||
addcslashes() | 在指定的字符前添加反斜线转义字符串中字符 | $str = "Hello, my name is John Adams."; echo $str; echo addcslashes($str,'m'); |
目标字符串|指定的特定字符或字符范围 | |||
stripcslashes() | 删除由addcslashes()添加的反斜线 | echo stripcslashes("Hello, \my na\me is Kai Ji\m."); | 目标字符串 | Hello, my name is Kai Jim. | ||
addslashes() | 指定预定义字符前添加反斜线 | $str = "Who's John Adams?";echo addslashes($str); | 把目标串中的' " \和null进行转义处理 | |||
stripslashes() | 删除由addslashes()添加的转义字符 | echo stripslashes("Who\'s John Adams?"); | 清除转义符号Who's John Adams? | |||
quotemeta() | 在字符串中某些预定义的字符前添加反斜线 | $str = "Hello world. (can you hear me?)"; echo quotemeta($str); |
Hello world\. \(can you hear me\?\) | . \ + * ? [] ^ $ () | ||
chr() | 从指定的 ASCII 值返回字符 | echo chr(052); | ASCII 值 | 返回对应的字符//* | ||
ord() | 返回字符串第一个字符的 ASCII 值 | echo ord("hello"); | 字符串 | 第一个字符的 ASCII 值 | ||
字符串比较: | ||||||
strcasecmp() | 不区分大小写比较两字符串 | echo strcasecmp("Hello world!","HELLO WORLD!"); | 两个目标字符串 | 大1|等0|小-1 | ||
strcmp() | 区分大小写比较两字符串 | |||||
strncmp() | 比较字符串前n个字符,区分大小写 | int strncmp ( string $str1 , string $str2 , int $len ) | ||||
strncasecmp() | 比较字符串前n个字符,不区分大小写 | int strncasecmp ( string $str1 , string $str2 , int $len ) | ||||
strnatcmp() | 自然顺序法比较字符串长度,区分大小写 | int strnatcmp ( string $str1 , string $str2 ) | 目标字符串 | |||
strnatcasecmp() | 自然顺序法比较字符串长度,不区分大小写 | int strnatcasecmp ( string $str1 , string $str2 ) | ||||
字符串切割与拼接: | ||||||
chunk_split() | 将字符串分成小块 | str chunk_split(str $body[,int $len[,str $end]]) | $body目标字串,$len长度,$str插入结束符 | 分割后的字符串 | ||
strtok() | 切开字符串 | str strtok(str $str,str $token) | 目标字符串$str,以$token为标志切割 | 返回切割后的字符串 | ||
explode() | 使用一个字符串为标志分割另一个字符串 | array explode(str $sep,str $str[,int $limit]) | $sep为分割符,$str目标字符串,$limit返回数组最多包含元素数 | 字符串被分割后形成的数组 | ||
implode() | 同join,将数组值用预订字符连接成字符串 | string implode ( string $glue , array $pieces ) | $glue默认,用''则直接相连 | |||
substr() | 截取字符串 | string substr ( string $string , int $start [, int $length ] ) | ||||
字符串查找替换: | ||||||
str_replace() | 字符串替换操作,区分大小写 | mix str_replace(mix $search,,mix $replace,mix $subject[,int &$num]) | $search查找的字符串,$replace替换的字符串,$subject被查找字串,&$num | 返回替换后的结果 | ||
str_ireplace() | 字符串替换操作,不区分大小写 | mix str_ireplace ( mix $search , mix $replace , mix $subject [, int &$count ] ) | $search查找的字符串,$replace替换的字符串,$subject被查找字串,&$num | 返回替换后的结果 | ||
substr_count() | 统计一个字符串,在另一个字符串中出现次数 | int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] ) | ||||
substr_replace() | 替换字符串中某串为另一个字符串 | mixed substr_replace ( mixed $string , string $replacement , int $start [, int $length ] ) | ||||
similar_text() | 返回两字符串相同字符的数量 | int similar_text(str $str1,str $str2) | 两个比较的字符串 | 整形,相同字符数量 | ||
strrchr() | 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串 | string strrchr ( string $haystack , mixed $needle ) | ||||
strstr() | 返回一个字符串在另一个字符串中开始位置到结束的字符串 | string strstr ( string $str, string $needle , bool $before_needle ) | ||||
strchr() | strstr()的别名,返回一个字符串在另一个字符串中首次出现的位置开始到末尾的字符串 | string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) | ||||
stristr() | 返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写 | string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) | ||||
strtr() | 转换字符串中的某些字符 | string strtr ( string $str , string $from , string $to ) | ||||
strpos() | 寻找字符串中某字符最先出现的位置 | int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) | ||||
stripos() | 寻找字符串中某字符最先出现的位置,不区分大小写 | int stripos ( string $haystack , string $needle [, int $offset ] ) | ||||
strrpos() | 寻找某字符串中某字符最后出现的位置 | int strrpos ( string $haystack , string $needle [, int $offset = 0 ] ) | ||||
strripos() | 寻找某字符串中某字符最后出现的位置,不区分大小写 | int strripos ( string $haystack , string $needle [, int $offset ] ) | ||||
strspn() | 返回字符串中首次符合mask的子字符串长度 | int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] ) | ||||
strcspn() | 返回字符串中不符合mask的字符串的长度 | int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] ) | $str1被查询,$str2查询字符串,$start开始查询的字符,$length查询长度 | 返回从开始到第几个字符 | ||
字符串统计: | ||||||
str_word_count() | 统计字符串含有的单词数 | mix str_word_count(str $str,[]) | 目标字符串 | 统计处的数量 | ||
strlen() | 统计字符串长度 | int strlen(str $str) | 目标字符串 | 整型长度 | ||
count_chars() | 统计字符串中所有字母出现次数(0..255) | mixed count_chars ( string $string [, int $mode ] ) | ||||
字符串编码: | ||||||
md5() | 字符串md5编码 | $str = "Hello"; echo md5($str); |