边记边学PHP-(九)PHP字符串常用函数及内容分页实现

来源:互联网 发布:歧视 知乎 编辑:程序博客网 时间:2024/06/18 17:58

PHP里面封装了很多字符串函数,我也记不住,用的时候就翻手册。这里有一个使用简单的字符串处理函数实现的分页技术,当然这个很简单,以后应该在数据库那个地方使用更好的分页技术。

代码如下:

<span style="font-size:18px;"><?phpfunction msubstr($str,$start,$len){$tmpstr="";$strlen = $start + $len;for($i=0;$i<$strlen;$i++){if(ord(substr($str,$i,1))>0xa0){   //字符串截取函数,substr()。ord()返回字符的 ASCII 码值 >0xa0说明是个汉字,占两个字节,所以读取两个$tmpstr.=substr($str,$i,2);$i++;}else{$tmpstr.=substr($str,$i,1);}}return $tmpstr;}$page=$_REQUEST['page'];if($page==""){$page = 1;}if($page){$counter = file_get_contents("file/file.txt");    //文件读取函数,这个相当于fopen fgets fclose三个函数的结合,将文件内容全部读完$length = strlen($counter);      //字符串长度计算函数,strlen$page_count=ceil($length/900);                    //ceil(float $value)返回不小于$value的下一个数$c=msubstr($counter,0,($page-1)*900);     $c1 = msubstr($counter,0,$page*900);echo substr($c1,strlen($c),strlen($c1)-strlen($c));//输出当前页的数据}?><table><tr><td>页次:<?php echo $page;?>/<?php echo $page_count;?>页</td><td>分页:<?phpif($page!=1){echo "<a href=index.php?page=1>首页</a> ";             //?后面的是传递的数据,这个先不用管。echo "<a href=index.php?page=".($page-1).">上一页</a> ";}if($page<$page_count){echo "<a href=index.php?page=".($page+1).">下一页</a> ";echo "<a href=index.php?page=".$page_count.">尾页</a> ";}?></td></tr></table></span>

这边一些东西看不懂也不用管,主要是对字符串处理的函数的使用。这里我没有设计页面,就是只是实现了这个功能。


函数名函数作用array explode ( string$delimiter , string$string [, int$limit ] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串delimiter 作为边界点分割出来。
string implode ( [string$glue ,] array$pieces )
glue 将一维数组的值连接为一个字符串。 


string md5 ( string$str [, bool$raw_output = false] )
对字符串str进行加密。如果可选的 raw_output 被设置为TRUE ,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。 int ord ( string$string )

返回字符串 string 第一个字符的 ASCII 码值。该函数是 chr()的互补函数。 

string chr ( int$ascii )

返回相对应于 ascii 所指定的单个字符。此函数与 ord()是互补的。 

string ltrim string $str [, string $charlist ] )
删除字符串开头的空白字符(或其他字符)通过指定 charlist,可以指定想要删除的字符列表。简单地列出你想要删除的全部字符。使用 .. 格式,可以指定一个范围。 不使用第二个参数, rtrim() 仅删除以下字符:" " (ASCII 32 (0x20)),普通空白符。"\t" (ASCII 9 (0x09)),制表符。"\n" (ASCII 10 (0x0A)),换行符。"\r" (ASCII 13 (0x0D)),回车符。"\0" (ASCII 0 (0x00)),NUL 空字节符。"\x0B" (ASCII 11(0x0B)),垂直制表符。      
string rtrim ( string$str [, string$charlist ] )
该函数删除 str 末端的空白字符并返回。 如果不使用第二个参数如上string trim ( string$str [, string$charlist = " \t\n\r\0\x0B"] )
此函数返回字符串 str 去除首尾空白字符后的结果。如果不使用第二个参数如上
string strstr ( string$haystack , mixed$needle [, bool $before_needle = false ] )
返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。 该函数区分大小写。如果想要不区分大小写,用stristr()。 before_needle若为 TRUE strstr() 将返回 needlehaystack 中的位置之前的部分。 

int strcmp ( string$str1 , string$str2 )
如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。 
int strlen ( string$string )
返回给定的字符串 string 的长度。 
mixedstrpos ( string $haystack , mixed$needle [, int $offset = 0 ] )
返回 needlehaystack 中首次出现的数字位置。 返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时注意字符串位置是从0开始,而不是从1开始的。如果没找到 needle,将返回FALSE 。 

string strrev ( string$string )
返回 string 反转后的字符串。 
string strtolower ( string$str )                                                                                                                                      
string 中所有的字母字符转换为小写并返回。
string strtoupper ( string$string )
string 中所有的字母字符转换为大写并返回。 
string substr ( string$string , int$start [, int$length ] )
返回字符串 stringstartlength 参数指定的子字符串。 如果 start 是非负数,返回的字符串将从 stringstart 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置2 的字符串是 “c” 等等。

如果 start 是负数,返回的字符串将从string 结尾处向前数第 start 个字符开始。如果string 的长度小于或等于 start,将返回FALSE


mixedstr_replace ( mixed$search , mixed$replace , mixed$subject [, int &$count ] )该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。 如果 searchreplace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。如果 replace 的值的个数少于search 的个数,多余的替换将使用空字符串来进行。如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始终使用这个字符串。该转换不会改变大小写。如果 searchreplace 都是数组,它们的值将会被依次处理。如果被指定,它的值将被设置为替换发生的次数。 

string str_repeat ( string$input , int$multiplier )         
返回 input 重复 multiplier 次后的结果。 input 被重复的次数。multiplier 必须大于等于 0。如果multiplier 被设置为 0,函数返回空字符串。 


这些是我在手册里面找的,是些比较常用的,还有很多。如果需要可以去看手册,手册都有举例 。


不知道什么问题,我今天下午打不开博客频道了,一直到现在才打开。所以有点潦草了。不过字符串函数真的很多,我记不住 ,要用就要找手册。当然一些经常用的还是需要记住的。多看看函数参数的意思。mixed代表不确定的类型。


0 0
原创粉丝点击