php基础:字符串基本函数

$a = 'abc ef';
echo strlen($a);//输出6;strlen是计算字符串的字节数,空格也算。

$b = '中国人';
echo strien($b);//输出9;在UTF-8编码下 一个中文字符占3个字节。在GBK编码下,一个中文字符占2个字节。

$b = "中国人";
echo mb_strien($b);//输出3;mb_strlen用来计算字符数(个数),

//bom头  类似记事本等软件,在保存UTF-8编码的文件时,会在文件的开头插入三个不可见的字符,主要是让电脑识别这个文件是不是以UTF-8来保存的,在PHP中会造成在session和COOKIE时有BOM头会出错,所以我们在文件开始时要去掉BOM头

$a = "abshjhj";
echo strpos($a,'s');//输出2;查找字符串第一次出现的位置  从0开始 注意此函数可能返回布尔值 FALSE, 但也可能返回等同于 FALSE 的非布尔值,因为字符串位置是从0开始, 而不是从1开始的。
echo strpos($a,'j');//输出0;查找字符串最后一次出现的位置,从0开始

$a = 'i fuck you';
echo str_replace('fuck','f**k',$a);//输出 i f**k you;str_replace是字符串替换函数,主要用于网站论坛,喷子骂人用。

$a = '男孩,女孩,男人,女人';
echo strtr($a,array('男'=>'狼'));//输出:狼孩,女孩,狼人,女人;批量替换字符串,还有种写法
echo strtr($a,'男','女');//输出 女孩,女孩,女人,女人; 这种写法不推荐,容易出现乱码。

$a = 'helloworld';
echo substr($a,5);//输出world 从第5个字母往后开始截取,substr字符串截取函数;
echo substr($a,2,3);//输出llo  从第2个字母往后截取,截取3个字符。
echo substr($a,-5);//输出world 从后面往前数5个字符,然后把数的字符截取出来。
echo substr($a,3,-2);//输出lowor  从第3个字符往后开始截取,到还剩2个字符的时候结束,
echo substr($a,-5,-3);//输出wo 从后面往前数5个字符,然后到还剩3个字符的时候结束,


//拆分字符串  explode()使用一个字符串,分割另外一个字符串,返回一个数组。
$a = 'php,mysql,apache,linux';
print_r(explode(',',$a));//输出 arrar([0]=>php [1]=>mysql [2]=>apache [3]=>linux); 用‘,’号把字符串分割成一个数组。

//拼接字符串,implode 将一个一维数组的值拼接为字符串,
$a = array(1=>'html',2=>'css',3=>'php',4=>'mysql');
echo implode('/',$a);//输出 htmlcss/php/mysql; 用‘/’把一个一维数组的值拼接为一个字符串。

//题目:
$a = 'meinv.jpg';//截取后缀名
echo substr($a,strpos($a,'.')); //输出 .jpg;先找点的位置 再从点的位置往后截取
//要是不想要'.' 后面再加一位就好  echo substr($a,strpos($a,'.')+1);

$a = 'meinv.meiv.jpg';//截取后缀名;
echo substr($a,strrpos($a,'.')+1);//输出.jpg strrpos是查找字符在字符串中最后出现的位置,
echo ltrim(strrchr($a,'.'),'.'); //输出jpg  strrchr是查找指定字符在字符串中最后一次出现的位置 往后截取字符,ltrim是删除字符串开头的空白字符,有2个参数,第一个你你要处理的字符 第二个是你要删除的是什么东西 是空格还是点还是别的字符。可以指定字符的范围。

$a = "sdsdsds";
echo strlen($a);//查找字节
echo mb_strlen($a);//查找字符 就是字数
 
 $pos = "sjdakdhjsdka";
 echo strpos($pos,'k');//查找字母出现的位置


$a = 'fuck you';
$replace = str_replace('fuck', 'love', $a);
echo $replace; //替换不文明字符
 
$a = 'fuck you';
$replace = str_replace('fuck','f**k',$a);
echo $replace;//替换不文明字符

$a = '男人','女人','男孩','女孩';
echo strtr($a, '男', '女')//批量替换字符 但是容易出现乱码 不推荐

$a = '男人','女人','男孩','女孩';
strtr($a,array('男'=>'女','孩'=>'童'));//批量替换字符 推荐使用

$str = 'helloworld';
echo substr($str,5);//world 字符串截取函数 默认截取5以后的字母
echo substr($str,2,3)//ll0 从第二个结尾截取  截取3个字母的长度
echo substr($str,-4) //orld 负数代表从右往左数 截取的也是和正数一样的右边字符
echo substr($str,3,-2)//lowor 第3个参数为负数代表了结束的地方

$str = 'php,mysql,apache,linux';
print_r(explode(',',$str));//拆分字符串 以逗号进行拆分拆分结果:array(0=>php,1=>mysql...)

$str =array(1=>'html',2=>'css',3=>'js',4=>'php');
echo implode(',',$str2); //拼接字符串 以逗号进行拼接
结果$str = 'html,css,js,php';

$a = 'meinv.meinv.jpg';
echo strrchr($a, '.');//查找指定字符在字符串中最后一次出现的位置

ltrim(str)// 删除字符串开头的空白字符 可以删除点
echo ltrim(strrchr($a,'.'),'.');


题目
$a = 'meinv.jpg';
echo substr($a,strpos($a,'.'));//.jpg $strpos返回一个数字用这个数字把后缀名截取下来

原文地址:https://www.cnblogs.com/ctx1989/p/6058408.html