php常用字符串函数

爷,独闯天下 提交于 2019-11-30 11:21:17


一些简单实用的函数

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

trim(str,char)移除字符串两侧的空白字符或其他预定义字符。

ltrim(str,char)移除字符串左侧的空白字符或其他预定义字符。

rtrim(str,char)移除字符串右侧的空白字符或其他预定义字符。

strtolower(str)函数把字符串转换为小写。

strtoupper(str)函数把字符串转换为大写。

md5(str)函数MD5加密,默认32位

crypt(str,salt)函数使用一种单向加密算法。

str_pad(str,length,pad_str,pad_type) 函数把字符串填充为新的长度。

nl2br(str)函数在字符串中的每个新行(\n)之前插入 HTML 换行符(<br> 或 <br />)。

strip_tags(str[,allow])函数剥去字符串中的 HTML、XML 以及 PHP 的标签。allow规定允许不被剥去的标签。

strrev(str) 函数反转字符串。

str_shuffle(str)函数随机打乱字符串中的所有字符。

str_repeat(str,3) 函数把字符串重复指定的次数。

lcfirst(str)函数把字符串中的首字符转换为小写。


查找字符串位置相关的函数

strstr(str,search_str [,before_search]) 查找字符串在另一字符串中的第一次出现。(区分大小写

before_search不给则返回之后的部分,为true返回出现之前的字符串部分。stristr()不区分大小写。

$str='1083654785@qq.com';
//获取邮箱域名 qq.com
$domain=trim(strstr($str,'@'),'@');

var_dump($domain);
//获取邮箱用户名 1083654785
$user=strstr($str,'@',true);
var_dump($user);
strpos(str,search_str [,start]) 查找字符串在另一字符串中 第一次 出现的位置(区分大小写)。
start规定开始查找的位置。stripos()不区分大小写。

strrpos(str,search_str [,start]) 查找字符串在另一字符串中 最后一次 出现的位置(区分大小写)。
start规定开始查找的位置。strripos()不区分大小写。

$str='1083654785@qq.com';
//查找@出现的位置
$site=strpos($str,'@');
var_dump($site);//输出10

//查找q第一次出现的位置
$first=strpos($str,'q');
var_dump($first);//输出11

//查找q最后一次出现的位置
$last=strrpos($str,'q');
var_dump($last);//输出12


字符串截取,分割,拼接,替换 相关函数

substr(str,start  [,length]) 截取字符串的一部分。

start参数标志开始截取位置,0:第一个字符开始截取;正数:从字符串左边开始截取;负数:从字符串右边开始截取;
length可选,要截取的字符长度。

$str='1083654785@qq.com';
//截取前10位
var_dump(substr($str,0,10));//输出:1083654785
//从10开始截取后面所有
var_dump(substr($str,10));//输出:@qq.com
//从字符串末尾开始截取6位
var_dump(substr($str,-6));//输出:qq.com

implode([char,]$arr)将数组按(char)字符拼接成字符串。

explode(char,$arr) 将字符串按(char)字符分割为数组

$arr=array('red','blue','green');
var_dump(implode('|', $arr));
var_dump(explode('|', implode('|', $arr)));

strtr(str,from,to) 转换字符串中特定的字符,使用from-to会格式化最短长短并且比如要转换ccc这种每个字符串相同为edu时会转成uuu,显然不是我们想要的结果。

strtr(str,array('key'=>'value'))使用数组格式可以完全转换多处。(推荐使用)

$str='1083654785@qq.com';
//只能转化2位
var_dump(strtr($str,'com','edu'));//输出:1083654785@qq.edu
//全部转换
var_dump(strtr($str,array('qq'=>'163','com'=>'edu.cn')));//输出:1083654785@163.edu.cn
substr_replace(str,replace,start [,length])函数把字符串的一部分替换为另一个字符串。
$str='1083654785@qq.com';
//从第5位开始替换5位
var_dump(substr_replace($str,'10836',5,5));//输出:1083610836@qq.com
//不给长度则从第5位开始替换之后所有
var_dump(substr_replace($str,'10836',5));//输出:1083610836
//从末尾开始替换
var_dump(substr_replace($str,'10836',-7));//输出:108365478510836


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!