Home > Article > Backend Development > Summary of some strings in php_php skills
php comes with a function that intercepts strings. it can only handle english. numbers cannot intercept mixed chinese characters. friends in need can refer to it. the latter ones are easier to use. the first one is mainly for beginners. used for learning.
php //构造字符串 $str = "abcdefghijklmnopqrstuvwxyz"; echo "原字符串:".$str." "; //按各种方式进行截取 $str1 = substr($str,5); echo "从第5个字符开始取至最后:".$str1." "; $str2 = substr($str,9,4); echo "从第9个字符开始取4个字符:".$str2." "; $str3 = substr($str,-5); echo "取倒数5个字符:".$str3." "; $str4 = substr($str,-8,4); echo "从倒数第8个字符开始向后取4个字符:".$str4." "; $str5 = substr($str,-8,-2); echo "从倒数第8个字符开始取到倒数第2个字符为止:".$str5." "; ?>supports mixed chinese and english interception.
/* ------------------------------------------------------ 参数: $str_cut 需要截断的字符串 $length 允许字符串显示的最大长度 程序功能:截取全角和半角(汉字和英文)混合的字符串以避免乱码 ------------------------------------------------------ */ function substr_cut($str_cut,$length) { if (strlen($str_cut) > $length) { for($i=0; $i < $length; $i++) if (ord($str_cut[$i]) > 128) $i++; $str_cut = substr($str_cut,0,$i).".."; } return $str_cut; } ?>
<strong> 1.//字符串的反转函数 </strong>$str='hello';//---->olleh echo strrev($str).'<br />';//这是系统提供的函数 //下来自己写一个函数来实现反转 $strArr = str_split($str);//Array ( [0] => h [1] => e [2] => l [3] => l [4] => o ) $str1=''; for($i=count($strArr)-1; $i>=0; $i--){ $str1.=$strArr[$i]; } echo $str1; <strong>2.//获取文件的后缀名 .jpg或者jpg都可以 </strong>$file='abc.exe.jpg'; echo strrchr($file,'.').'<br />';//这个是使用的系统函数,查找的文件名 echo strrev(strstr(strrev($file),'.',true)).'<br />';//strstr()返回的是字符串首次出现,加上true表示返回的是. 之前的字符串 echo substr($file,strrpos($file,'.')).'<br />';//strrpos()返回的是最后一次.出现的位置,然后在进行截取 $strArr=explode('.',$file); echo $strArr[count($strArr)-1].'<br />';//explode()函数将字符串按点分割成一个数组 //echo array_pop($strArr).'<br />'; //echo end($strArr).'<br />'; echo pathinfo($file,PATHINFO_EXTENSION).'<br /> ';//pathinfo()函数返回的是文件的路径的信息 echo strrev(substr(strrev($file),0,strpos($file,'.'))).'<br /> '; <strong>3.//将1234567890----->1,234,567,890 </strong>$str='1234567890'; $strArr=str_split(strrev($str),3); echo strrev(implode(',',$strArr)).'<br />';//---->1,234,567,890