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

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

代码如下:

<?php

function msubstr($str,$start,$len){

$tmpstr="";

$strlen = $start + $len;

for($i=0;$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));//输出当前页的数据

}

?>

页次:<?php echo $page;?>/<?php echo $page_count;?>页分页:

if($page!=1){

echo "首页 "; //?后面的是传递的数据,这个先不用管。

echo "上一页 ";

}

if($page

echo "下一页 ";

echo "尾页 ";

}

?>

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

函数名

函数作用

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 码值。该函数是

string chr( int $ascii)

返回相对应于 ascii 所指定的单个字符。此函数与

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, $needle[, bool $before_needle = false] )

返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。 该函数区分大小写。如果想要不区分大小写,用 before_needle若为 TRUE,strstr()将返回 needle 在 haystack 中的位置之前的部分。

int strcmp( string $str1, string $str2)

如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。

int strlen( string $string)

返回给定的字符串 string 的长度。

strpos( string $haystack , $needle[, int $offset = 0] )

返回 needle 在 haystack 中首次出现的数字位置。 返回 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] )

返回字符串 string 由 start 和 length 参数指定的子字符串。 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

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

str_replace( $search, $replace, $subject[, int &$count ] )

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

string str_repeat( string $input, int $multiplier)

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值