php自带的一个截取字符串的函数,只能处理英文,数字的不能截取中文混排的哦,有需要的朋友可以参考,后面的比较好用,第一个主要是给初学者学学用的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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 ."
";
?>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/*
------------------------------------------------------
参数:
$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 ;
}
?>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<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
|