php返回第一个字符串的码点_PHP中字符串常用处理函数

本文详细介绍了PHP中处理字符串的各种函数,包括去除首尾字符的trim系列,大小写转换,字符串查找与替换,与HTML标签相关的函数,字符串截取,查询字符串解析,字符串转义与编码,以及加密和压缩等。同时,提到了处理中文字符串时应使用的特殊函数。
摘要由CSDN通过智能技术生成

去除首尾特定字符

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实体:&为&"为"'为'为 >

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

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

$str=<

斯蒂芬斯蒂芬

的武器大全我

START;

echo strip_tags($str,"

");

字符串截取函数

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

查询字符串解析

查询字符串为"name1=val1&name2=val2&...&namen=valn"格式的字符串,php提供了直接解析该格式字符串的函数parse_str($string[,$array])

当不提供$array参数时解析为$name=val形式

当提供$array参数时解析为$array[$name]=val形式

解析时如果已存在相同名称变量则覆盖原值

$str='name=sanqian&age=30';

$arr=array();

var_dump(parse_str($str));

//$name='sanqian';

//$age='30';

var_dump(parse_str($str,arr));

//$arr['name']='sanqian';

//$arr['age']='30';

字符串转义

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

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

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 字符长度的原始格式返回。

hash_pbkdf2 (string $algo,string $password,string $salt,int $iterations[,int $length=0[,bool $raw_output=FALSE]]):加盐加密

algo:哈希算法名称,hash_algos()或者hash_hmac_algos()获取所有受支持的哈希算法名称。

password:要加密的密码

salt:使用的“盐”

iterations:进行导出时的迭代次数

raw_output:为TRUE输出原始二进制数据, 为FALSE输出小写的16进制字符串。

length:结果数据的字节长度。如果raw_output为TRUE此参数为结果数据的字节长度。如果raw_output为FALSE,此参数为结果数据的字节长度的2倍。如果传入 0,则使用所选算法的默认输出长度。

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() 返回字符串出现的次数

把字符串作为命令执行

eval($str):把字符串按照PHP代码来计算,字符串必须以分号结尾。如果字符串中没有return语句,返回 NULL,如存在解析错误,返回false

shell_exec(string $command):创建一个shell进程并执行命令,以字符串的方式返回命令执行的输出。如执行有错误或没有任何输出,则返回null

exec ( string $command [, array &$output [, int &$return_var ]] ):exec不会创建shell进程, php进程直接创建一个子进程,运行指定的命令,返回值只返回命令的最后一行, 所有的返回以$output参数形式返回,每行输出填充数组中的一个元素。进程的退出代码以参数$return_var变量返回

passthru ( string $command [, int &$return_var ]):与exec() 类似, 不同的是, 命令的所有输出返回内容都不再导入到 PHP 环境, 而是直接作为输出内容返回到浏览器的输出上, 等效是把所有返回内容直接 echo 输出

system():和passthru()类似, 但是system()方法会在程序的每行输出的时候执行一次缓存输出动作, 可以理解为, 只要外部程序输出一行, php 就会马上把内容推送到浏览器, 无论这个内容是否足够大, 即使输出的内容只有一个字母

最后编辑:2020-08-03作者:qingheluo

5aea90233e4bbc88135a027c2de2596a.png

这个作者貌似有点懒,什么都没有留下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值