首页 > php学习 > php常用函数 > PHP中字符串常用处理函数
2016
12-16

PHP中字符串常用处理函数

一、trim($str[,$charlist])

返回字符串 str 去除首尾空白字符或特定字符后的结果。

如果不指定第二个参数,trim() 将去除这些字符:

" "空格符。 "\t"制表符。 "\n" 换行符。 "\r" 回车符。 "\0" 空字节符。 "\x0B" 垂直制表符。

$str='abcabcdefac';

var_dump($str);

var_dump(trim($str,'bac'));//去除收尾含有b或a或c的字符

ltrim()仅去除左侧字符,rtrim()仅去除右侧字符

二、大小写转换函数

strtoupper($str)转换为大写

strtolower($str)转换为小写

ucfirst()函数将第一个字母转换为大写

ucwords()函数将每个单词第一个字母转换为大写

三、字符串查找函数

1.strlen($string)获取字符串的长度。

2.substr_count($str,$needle[,int $offset=0][,int $length])

返回子字符串$needle在字符串$str中出现的次数(区分大小写)。$offset为开始计数的偏移位置,$length为指定偏移位置之后的最大搜索长度。

3.strpos($str,$needle[,int $offset = 0])

返回$needle在$str中首次出现的数字位置。$offset为开始计数的偏移位置

4.strstr($str,$needle[,bool $before_needle=false])

返回$str字符串从$needle第一次出现的位置开始到haystack结尾的字符串(包含$needle)。$before_needle若为TRUE将返回$needle在$str中的位置之前的部分(不包含$needle).

strrchr($str,$needle)

返回$str字符串中的一部分,这部分以$needle的最后出现位置开始直到$str末尾。

四、字符串替换函数

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

返回一个字符串或者数组。该字符串或数组是将$subject中全部的$search都被$replace替换之后的结果。$count如果指定那么返回的结果赋值到该变量。

五、与html标签相关的函数

1.htmlspecialchars

把一些预定义的字符转换为HTML实体:&为&amp;"为&quot;'为&#039;<为 &lt;>为 &gt;

2.strip_tags($str[,$allowable_tags])

返回给定的字符串$str 去除空字符、HTML和PHP标记(包含标签和注释)后的结果,$allowable_tags指定不被去除的字符列表。

$str=<<START

<p style="color:red;font-size:128px;">斯蒂芬斯蒂芬</p>

<div style="color:red;">的武器大全我</div>

START;

echo strip_tags($str,"<div><p>");

六、字符串截取函数

1.substr($string,int $start[,int $length])

字符串$string从偏移$start位开始截取到偏移$length位,$start和$length为负数则为从右侧数第几位

七、字符串分隔函数

1.explode ( string $delimiter , string $string [, int $limit ] )

返回由字符串组成的数组,每个元素都是$tring 的一个子串,它们被字符串$delimiter作为边界点分割出来。

2.str_split(string $string[,int $split_length=1])

将一个字符串$string转换为数组。 每一段的长度为$split_length

八、字符串转义

1、addslashes ( string $str ):转义(给单引号双引号等加上反斜杠"\")。

2、stripslashes( string $str ):功能和addslashes相反。

3、mysql_escape_string() :转义 SQL语句中使用的字符串中的特殊字符

php自带的表单自动转义,php5会将表单自动转义,通过修改php.ini来修改是否开启此功能,通过get_magic_quotes_gpc()函数获取此功能是否开启。此功能只在php5.0至php5.3版本有效,自php5.4以后,php不再有此功能。

九、编码转换

iconv ( string $in_charset , string $out_charset , string $str ):将字符串 str 从 in_charset 转换编码到 out_charset。

十、编码 URL 字符串

urlencode ( string $str ):编码 URL 字符串,将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。

urldecode( string $str ) - 解码已编码的 URL 字符串

十一、字符串和ASCII码

ord()函数用于将字符串转化为ASCII码值

chr()函数用于将ASCII码值转化为字符串

十二、字符串加密

md5 ( string $str [, bool $raw_output = false ] ):返回 32 字符十六进制数字形式返回散列值。如果可选的 raw_output 被设置为 TRUE,那么 MD5 将以16字节长度的原始二进制格式返回

sha1 ( string $str [, bool $raw_output = false ] ):返回40 字符十六进制数字形式返回的 sha1 散列值。如果可选的 raw_output 被设置为 TRUE,那么 sha1 将以 20 字符长度的原始格式返回。

base64_encode(string $data) :使用 MIME base64 对数据进行编码,数据要比原始数据多占用 33% 左右的空间。

base64_decode (string $data) :对使用 MIME base64 编码的数据进行解码

十三、字符串压缩

gzcompress($str[,int $level=6),把字符串$str压缩,第二个参数是压缩水平,可以为0的无压缩至9的最大压缩。

gzuncompress($str),把压缩以后的字符串还原。

gzencode() 和 gzdecode()

gzdeflate()和gzinflate()

上面两个的功能和gzcompress一样,都是用来压缩和解压缩的,这三个都可以用来创建压缩文件(.gz格式)。

$data = implode("", file("22.pptx"));

$gzdata = gzencode($data, 9);

$fp = fopen("1.pptx.zip", "w");

fwrite($fp, $gzdata);

fclose($fp);

上例中压缩文件(1.pptx.zip)中的文件名为1.pptx,即默认在压缩文件中的文件名会以压缩文件名的名称命名。

十四、字符串重复

str_repeat(string $input,int $multiplier) 返回 input 重复 multiplier 次后的结果。

十五、字符串填充

str_pad(string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

使用另一个字符串$pad_string填充字符串$input到指定长度

如果pad_length的值是负数,小于或者等于输入字符串的长度,不会发生任何填充。

可选的pad_string 参数没有指定,input将被空格字符填充。如果填充字符的长度不能被 pad_string 整除,那么 pad_string 可能会被缩短。

可选的pad_type参数的可能值为STR_PAD_RIGHT,STR_PAD_LEFT或STR_PAD_BOTH。表示从左端、右端或者同时两端被填充,默认为STR_PAD_RIGHT。

十六、处理中文字符串

对于以上的字符串函数,有些可以用于中文,但有些却不适用中文。所以,PHP提供了专门的函数来解决这样的问题。中文字符可以是gbk,utf8,gb2312

mb_strlen() 对应的函数为 strlen() 求字符串的长度

mb_strstr() 对应的函数为 strstr() 求某字符串到结尾的字符

mb_strpos() 对应的函数为 strpos() 求出字符最先出现处

mb_substr() 对应的函数为 substr() 取出指定的字符串

mb_substr_count() 对应函数为 substr_str() 返回字符串出现的次数

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。