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 |