PHP中的字符串函数

1. strlen
函数原型:
strlen ( string $string )

功能描述:
返回字符串的长度(字节数)。

示例:
$length = strlen($str); 

如果要统计字符数,就用下面的函数:
$length = mb_strlen('字母a', 'utf8');
2. trim
函数原型:
trim ( string $str [, string $charlist ] )

功能描述:
去除字符串首尾处的空白字符(或其他指定的字符),返回新的字符串。
如果不指定第二个参数,则默认去除普通空格符、制表符、换行符、回车符、空字节符、垂直制表符。

示例:
$newStr = trim ( $str );
3. ltrim
函数原型:
ltrim ( string $str [, string $charlist ] )

功能描述:
去除字符串左侧的空白字符(或其他指定的字符),返回新的字符串。
4. rtrim
函数原型:
rtrim ( string $str [, string $charlist ] )

功能描述:
去除字符串右侧的空白字符(或其他指定的字符),返回新的字符串。
rtrim()函数的别名为chop()函数。
5. dirname
函数原型:
dirname ( string $path )

功能描述:
返回路径中的上一级目录。

示例:
$dir = dirname ( "/etc/passwd/a.txt" );
6. basename
函数原型:
basename ( string $path [, string $suffix ] )

功能描述:
返回路径中的文件名,默认包含文件的后缀名。
如果指定第二个参数,则可以去除对应的后缀名。

示例:
$filename = basename ( "/etc/passwd/a.txt" , ".txt");
7. pathinfo
函数原型:
pathinfo ( string $path [, int $options ] )

功能描述:
返回路径的相关信息。
如果没有指定第二个参数,则返回关联数组;如果指定了第二个参数,则返回对应单元的字符串。
不指定第二个参数的情况下,返回的关联数组,包含四个键名( dirnamebasename、extension、filename )和 对应的四个键值( /etc/passwd、a.txt、txt、a )。
$options有四个可选的常量:PATHINFO_DIRNAME、PATHINFO_BASENAME、PATHINFO_EXTENSION和PATHINFO_FILENAME。

示例:
$info = pathinfo ( "/etc/passwd/a.txt" );
8. str_pad
函数原型:
str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

功能描述:
将字符串填充至指定的长度,返回新的字符串。
如果没有指定第三个参数,则默认用空格填充。如果没有指定第四个参数,则默认填充到右侧。

示例:
$newStr = str_pad ( "abc" , 5 );
9. str_repeat
函数原型:
str_repeat ( string $input , int $multiplier )

功能描述:
将字符串重复指定的次数,返回新的字符串。

示例:
$newStr = str_repeat ( "abc" , 3 );
10. str_split
函数原型:
str_split ( string $string [, int $split_length = 1 ] )

功能描述:
将字符串按照指定的长度分割为数组,返回数组。
第二个参数可以指定分割的长度,默认值为1。

示例:
$arr = str_split ( "abcde" );
11. explode
函数原型:
explode ( string $separator , string $string [, int $limit ] )

功能描述:
将字符串用指定的分隔符分割为数组,返回数组。

示例:
$arr = explode ( 'one|two|three|four' , "|" );
12. strrev
函数原型:
strrev ( string $string )

功能描述:
反转字符串,返回反转后的字符串。
13. str_shuffle
函数原型:
str_shuffle ( string $str )

功能描述:
随机打乱一个字符串,返回打乱后的字符串。
14. parse_str
函数原型:
parse_str ( string $str [, array &$arr ] )

功能描述:
将字符串解析为变量,没有返回值。
如果指定了第二个参数,则可以把解析后的变量放入数组中。

示例:
parse_str ('username=lisi&passwd=123',$arr);
15. strtolower
函数原型:
strtolower ( string $str )

功能描述:
将字符串转化为小写,返回转换后的小写字符串。

示例:
$str = strtolower('aBc');
16. strtoupper
函数原型:
strtoupper ( string $string )

功能描述:
将字符串转化为大写,返回转换后的大写字符串。
17. ucfirst
函数原型:
ucfirst ( string $str )

功能描述:
将字符串的首字母转换为大写,返回转换后的字符串。
18. lcfirst
函数原型:
lcfirst ( string $str )

功能描述:
将字符串的首字母转换为小写,返回转换后的字符串。
19. ucwords
函数原型:
ucwords ( string $str )

功能描述:
将字符串中每个单词的首字母转换为大写,返回转换后的字符串。
这里单词的定义是紧跟在空白字符(空格符、制表符、换行符、回车符、水平线以及竖线)之后的子字符串。
20. htmlspecialchars
函数原型:
htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

功能描述:
将字符串中的特殊字符转换为对应的html实体,返回转换后的字符串。
第二个参数表示是否将引号转换为html实体,默认值是ENT_COMPAT,只转换双引号,不转换单引号。
将第二个参数设置为ENT_QUOTES,可以转换双引号和单引号。
该函数可以转换为对应实体的字符,只有5个。分别是 < (&lt;)、> (&gt;)、' (&#039;)、" (&quot;) 和 & (&amp;)。

示例:
$str = "abc|<|>|'|&| | |©|®";
$str = htmlspecialchars ( $str , ENT_QUOTES );
echo $str;

说明:
由于浏览器会对PHP输出的内容作处理(比如解码),因此,要想查看PHP的原始输出内容,可以查看源代码。 
输出的源代码为:abc|&lt;|&gt;|&#039;|&amp;| |   |©|®
21. htmlentities
函数原型:
htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

功能描述:
将字符串中的所有特殊字符转换为对应的html实体,返回转换后的字符串。
htmlentities()的用法和上面相同,只不过htmlentities()可以转换更多的特殊字符。
22. nl2br
函数原型:
nl2br ( string $string [, bool $is_xhtml = true ] )

功能描述:
将字符串中的换行符 \n ,转换为<br />,返回转换后的字符串。

示例:
echo nl2br("foo isn't\n bar");
23. strip_tags
函数原型:
strip_tags ( string $str [, string $allowable_tags ] )

功能描述:
去除字符串中的HTML、XML和PHP标签,同时会去除HTML注释,返回处理后的字符串。
第二个参数可以指定不被去除的HTML标签

示例:
echo strip_tags('<p>Test</p><!-- Comment -->   <a href="#fragment">Other text</a>');
24. addslashes
函数原型:
addslashes ( string $str )

功能描述:
使用反斜线转义字符串中的特殊字符,返回转义后的字符串。
处理结果,会受到magic_quotes_gpc配置项的影响。
这些字符是单引号(')、双引号(")、反斜线(\)与 NULL。

示例:
echo addslashes ("who's your name \ a/?");
25. stripslashes
函数原型:
stripslashes ( string $str )

功能描述:
去除字符串中的反斜线,返回处理后的字符串。

示例:
echo stripslashes ("who\'s your n\ame \\ a/?");
26. quotemeta
函数原型:
quotemeta ( string $str )

功能描述:
使用反斜线转义字符串中的元字符,返回处理后的字符串。
这些字符是 . \ + * ? [ ^ ] ( $ )

示例:
echo quotemeta ( ". \ + * ? [ ^ ] ( $ )");
27. ord
函数原型:
ord ( string $string )

功能描述:
返回字符串中第一个字符的 ASCII 码值。 

示例:
echo ord ( "abc" );
28. chr
函数原型:
chr ( int $ascii )

功能描述:
返回该 ASCII 码值对应的字符。

示例:
echo chr(65);
29. strcmp
函数原型:
strcmp ( string $str1 , string $str2 )

功能描述:
比较两个字符串的大小,区分大小写。
如果 str1 小于 str2,返回负数;如果 str1 大于 str2,返回正数;二者相等则返回 0
30. strcasecmp
函数原型:
strcasecmp ( string $str1 , string $str2 )

功能描述:
比较两个字符串的大小,不区分大小写。
31. strnatcmp
函数原型:
strnatcmp ( string $str1 , string $str2 )

功能描述:
使用自然排序算法比较两个字符串的大小,区分大小写。
32. strnatcasecmp
函数原型:
strnatcasecmp ( string $str1 , string $str2 )

功能描述:
使用自然排序算法比较两个字符串的大小,不区分大小写。
33. strncmp
函数原型:
strncmp ( string $str1 , string $str2 , int $len )

功能描述:
比较两个字符串前 n 个字符的大小,区分大小写。
34. strncasecmp
函数原型:
strncasecmp ( string $str1 , string $str2 , int $len )

功能描述:
比较两个字符串前 n 个字符的大小,不区分大小写。
35. substr
函数原型:
substr ( string $string , int $start [, int $length ] )

功能描述:
截取字符串(按字节进行截取),返回截取后的子字符串。
$start无论正负,都表示截取的起始位置,且包括该位置的字符。
$length为正值时,表示截取的子字符串的长度;为负值时,表示截取的结束位置,但不包括该位置的字符。 -1 表示字符串的最后一个字符的位置。
如果字符串中包含汉字,截取汉字时,截取的长度一般为三的倍数,因为一个汉字占3个字节(utf-8编码)。
截取汉字时,可能导致畸形的字节序列。

示例:
var_dump( substr("你zai干什么" , 0 , 6) );   
输出:string(6) "你zai"
36. mb_substr
函数原型:
mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )

功能描述:
按照指定的字符编码截取字符串(按字符进行截取),返回截取后的子字符串。
但多了第四个可选参数,可以指定字符编码,便于对汉字字符串进行截取。
如果第四个参数没指定,则使用内部字符编码。
如果字符串中,包含汉字,请指定第四个参数为utf-8,就会把每个汉字当做一个长度来截取。

示例:
var_dump( mb_substr("你zai干什么", 0 , 6 , 'utf-8') );
输出:string(12) "你zai干什"
37. mb_strcut
函数原型:
mb_strcut ( string $str , int $start [, int $length [, string $encoding ]] )

功能描述:
按照指定的字符编码截取字符串(按字节进行截取),返回截取后的子字符串。
操作mb_strcut()函数时,不用担心导致畸形的字节序列。
因为如果截取的位置(开始或结束位置),在一个多字节字符的字节之间,截取位置会自动跳到多字节字符的第一个字节之前。

示例:
var_dump( mb_strcut("你zai干什么", 2 , 13 , 'utf-8' ) );
输出:string(12) "你zai干什"
38. mb_internal_encoding
函数原型:
mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] )

功能描述:
获取或者设置内部字符编码。
不传参数时,表示获取内部字符编码,返回一个字符串;传递参数时,表示设置内部字符编码,返回布尔值。

示例:
mb_internal_encoding('utf-8');
39. str_replace
函数原型:
str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

功能描述:
字符串替换(区分大小写),返回替换后的字符串或者数组。
该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。
第四个参数为可选参数,可以指定替换的次数。

如果 search 和 replace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。
如果 replace 的值的个数少于 search 的个数,多余的替换将使用空字符串来进行。
如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始终使用这个字符串。
40. str_ireplace
函数原型:
str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

功能描述:
同上,只不过该函数可以实现不区分大小写的替换。
41. preg_replace
函数原型:
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

功能描述:
正则替换。如果subject是一个数组, 返回替换后的数组, 其他情况下返回替换后的字符串。
效率较低,推荐优先使用上面的两个函数。
$replacement中可以包含后向引用 $n (0-99)。
42. preg_match
函数原型:
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

功能描述:
正则匹配。
返回值有两种情况:返回0,表示没有匹配到;返回1,表示匹配到了。
preg_match()在第一次匹配到后,将会停止搜索,也就是说该函数只会匹配一次。

如果传递了第三个参数$matches,会把匹配到的结果以数组的形式填充到该变量中。
$matches[0]是整个正则表达式(完整模式)匹配的字符串,$matches[1]是第一个子表达式(子模式)匹配的字符串,依次类推。
43. preg_match_all
函数原型:
preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )

功能描述:
正则匹配,可匹配多次。用法同上,只不过它可以进行多次匹配。
如果没有匹配到,返回0;匹配到了,则返回匹配的次数。
44. substr_count
函数原型:
substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )

功能描述:
在一个字符串中统计另一个字符串出现的次数,并将其返回。
45. substr_replace
函数原型:
substr_replace ( mixed $string , string $replacement , int $start [, int $length ] )

功能描述:
将字符串$string中选定的某一段子串替换为指定的字符串$replacement,返回替换后的字符串。
如果 $string 是个数组,那么也将返回一个数组。
第三个参数,表示选定的子串的开始位置,且包括该位置的字符。
第四个参数(可选),表示选定的子串的结束位置或子串的长度。为负值时,表示结束位置,但不包括该位置的字符;为正值时,表示长度。

示例:
echo substr_replace ( "abcdef","xyz",1);
46. strstr
函数原型:
strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )    

功能描述:
返回 $haystack 字符串中从 $needle 第一次出现的位置开始(包括该位置的字符串)到 $haystack 结尾的字符串,区分大小写。
第三个参数为可选参数,默认为false;如果设置为true,则会返回$needle之前的字符串。

示例:
echo strstr  ( "abcdef" , "cd" );
47. stristr
函数原型:
stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

功能描述:
同上,只不过stristr()不区分大小写。
48. strchr
函数原型:
strchr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

功能描述:
strchr()函数是strstr()函数的别名。
49. strrchr
函数原型:
strrchr ( string $haystack , mixed $needle )

功能描述:
返回 $haystack 字符串中从 $needle 最后一次出现的位置开始(包括该位置的字符)到 $haystack 结尾的字符串,区分大小写。

strrchr()中的第二个参数,如果包含了不止一个字符,只使用第一个字符。此处不同于strchr()的用法。

示例:
echo strrchr  ( "abcdef" , "c" );
50. strtr
函数原型:
strtr ( string $str , string $from , string $to )
strtr ( string $str , array $replace_pairs )

功能描述:
可以实现字符串中子串的转换,返回转换后的字符串。有如上两种原型写法。

第一种写法:
将$str中的子串$from转换(替换)为$to,以最小长度进行替换。
如果$from$to的长度不相等,会忽略掉多余的部分。也就是说只会取它们中的最小长度,进行字符的替换。

第二种写法:
第二个参数为数组,数组中的键名是要查找的字符串$from,值是要替换为的字符串$to。
无论字符串的长度是否相等,都会全部替换,故不会出现上面的问题。
推荐使用这种写法,可以很方便的实现字符串中两个子串的位置互换。

示例:
echo strtr ( "hi all ! I said hello" , "hi" , "hello" );
echo strtr ( "hi all ! I said hello" , array("hi" => "hello" , "hello" => "hi") );
51. strpos
函数原型:
strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

功能描述:
返回字符串中某个子字符串第一次出现的位置,区分大小写。
位置索引顺序为从左到右,索引值从0开始。

示例:
echo strpos ( "abcdefgcde", "cd" );
52. stripos
函数原型:
stripos ( string $haystack , string $needle [, int $offset = 0 ] )

功能描述:
同上,但不区分大小写。
53. strrpos
函数原型:
strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

功能描述:
返回字符串中某个子字符串最后一次出现的位置,区分大小写。

示例:
echo strrpos ( "abcdefgcde", "cd" );
54. strripos
函数原型:
strripos ( string $haystack , string $needle [, int $offset = 0 ] )

功能描述:
同上,但不区分大小写。
55. strspn
函数原型:
strspn ( string $subject , string $mask [, int $start [, int $length ]] )

功能描述:
返回字符串 $subject 中的字符都存在于 $mask 字符集合中的第一组连续字符(第一个子字符串)的长度。
如果没有指定 $start,则默认从$subject的第一个字符开始匹配,如果第一个字符不存在于 $mask 字符集合中,则返回0

示例:
echo strspn("66690ab0987653", "1234567890");
56. strcspn
函数原型:
strcspn ( string $subject , string $mask [, int $start [, int $length ]] )

功能描述:
返回字符串 $subject 中的字符都不存在于 $mask 字符集合中的第一组连续字符(第一个子字符串)的长度。
功能和上面的函数相反。
如果第一个字符存在于 $mask 字符集合中,则返回0

示例:
echo strcspn("abc66690ab0987653", "1234567890");
57. str_word_count
函数原型:
str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

功能描述:
统计字符串中单词的数量。
如果第二个参数指定为1或者2,则返回数组;指定为0或者不指定,则返回数值。

第二个参数有三个可选的值:
0  默认值,表示返回单词的数量。
1  表示返回一个数组,数组中的值包含了每个单词,键名采用顺序数字索引。
2  表示返回一个数组,数值中的值包含了每个单词,键名是单词在字符串中的位置。

第三个参数,为字符列表,里面的每一个字符将被视为单词的一部分。

示例:
var_dump( str_word_count ( "jpg|jpep|png||bmp|txt" , 1 ) );
58. count_chars
函数原型:
count_chars ( string $string [, int $mode = 0 ] )

功能描述:
统计ASCII码值对应的字符在字符串中出现的次数。返回值视第二个参数的设置的不同而不同。

第二个参数有五个可选的值:
0 默认值,返回一个数组,数组的键名为字符的ASCII码值,范围是0-255;数组的值为ASCII码对应的字符在字符串中出现的次数。
1 返回一个数组,和0类似,但数组中只包含出现次数大于零的元素。
2 返回一个数组,和0类似,但数组中只包含出现次数等于零的元素。
3 返回一个字符串,字符串中列出了所有出现次数大于零的字符。
4 返回一个字符串,字符串中列出了所有出现次数等于零的字符。
59. md5
函数原型:
md5 ( string $str [, bool $raw_output = false ] )

功能描述:
对字符串进行MD5加密,返回字符串的MD5散列值。
如果没有指定第二个参数或第二个参数指定为false,返回的字符串的长度是32。

示例:
$str = md5( "123456" );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值