PHP计算字符串长度(中文问题)

想计算字符串长度来着,用了strlen函数,发现问题了,中文不算一个字符,这个问题肯定会带来截取的问题,GOOGLE了一下,发现不同的编码还有不同的方法,一向钟情于UTF-8的我,现在就写一下如何计算UTF8字符串长度,还有如何截取的问题~~

<?php // 说明:计算 UTF-8 字符串长度(忽略字节的方案)
function strlen_utf8($str) {
$i = 0;
$count = 0;
$len = strlen ($str);
while ($i < $len) {
$chr = ord ($str[$i]);
$count++;
$i++;
if($i >= $len) break;
if($chr & 0x80) {
$chr <<= 1;
while ($chr & 0x80) {
$i++;
$chr <<= 1;
}
}
}
return $count;
}
$str = http://www.jm-zy.net/一个小小的测试;
echo strlen_utf8($str);
?>

Read More →

js改变class方法~~~

今天在看以前的NOTE的时候,发现可以用类似的方法改变class,原文的思想: http://www.jm-zy.net/Notes/Article-598.html

<p onmouseover="javascript:temp=this.className;this.className='details';" onmouseout="this.className=temp;"></p>

搞定~~切喜~~~

Read More →

自动生成圆角,无图片版

今天发出一个网站可以自动生成圆角的框,非常方便,介绍一下

http://www.spiffycorners.com/

Read More →

PHP分页显示

常规的XX管理系统,显示列表的时候,总得分页,好怀念.NET的时间,用GRIDVIEW多爽,写几个配置参数,分页的功能就OK了,在这里我真的想说一句,搞.NET的不是菜鸟,抛开平台的问题,ASP.NET确实不错,MS的想法确实很好~~

不说,说正题!php分页的问题确实也很简单,根据传递的参数,在select语句中加入limit限制就OK了...

参考代码如下:

每页多少条记录($PageSize)?

当前是第几页($CurrentPageID)?

现在只要再给我一个结果集,我就可以显示某段特定的结果出来。

至于其他的参数,比如:上一页($PreviousPageID)、下一页($NextPageID)、总页数($numPages)等等,都可以根据前边这几个东西得到。

Read More →

判断获取URL传递的参数是否为空(php)

if(isset($_GET['page'])){
        $page = intval( $_GET['page'] );
     }

php文档中对isset是这样解释的:

isset() will return FALSE if testing a variable that has been set to NULL.

所以用来判断'page'是否为空时,用这个函数就可以了,还有一个方法,就是用empty方法~~

if(!empty($_GET['page'])){
        $page = intval( $_GET['page'] );
     }

Read More →

把字符串时间转换为timestamp的一个方法(php)

$array = explode("-",$research[''time'']);//2008-11-26 12:19:57
$year = $array[0];
$month = $array[1];

$array = explode(":",$array[2]);
$minute = $array[1];
$second = $array[2];

$array = explode(" ",$array[0]);
$day = $array[0];
$hour = $array[1];

$timestamp = mktime($hour,$minute,$second,$month,$day,$year);

得到timestamp 之后,便可以进行一些相关的操作~~~

php时间函数:http://www.minsblog.com/Notes/Article-719.html

ps:我人人认为,这种方法并不太好,也只能处理2008-11-26 12:19:57格式的时间,如果换了一个20081126这样的时间,这个方法就不行了,C#中的时间转换函数功能比php强大得多,不过相信PHP肯定也有自己的解决方案,只不过对于我这个新手而言,还没清楚罢了~~~

不管了,项目要紧,日后再说~~~

Read More →

PHP时间函数

用法: date(格式,[时间]);

如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义: 

Y 替换成从一个起始时间(好象是1970年1月1日)以来的秒数Y 替换成4位的年号.

y 替换成2位的年号.

F 替换成月份的英文全称.

M 替换成月份的英文简称.

m 替换成月份数.

z 替换成从当年1月1日以来的天数.

d 替换成日数.

l 替换成星期几的英文全称.

D 替换成星期几的英文简称.

w 替换成星期几(数字).

Read More →

Discuz(php)的加密算法

私有密匙(passport_key)

由于一些关键参数采用了 GET 方式进行传递,即便两次 header 跳转并不会直接将链接显示在外面,但我们仍然对关键的参数进行了加密,私有 密匙共有两个作用:其一是供下面提到的可逆加密算法(AzDGCrypt)进行数据的加解密。其二是生成不可逆验证字串(verify),以防止关键信息被 伪造。

在启用 Discuz! Passort 后,您需要在应用程序和 Discuz! 后台配置两处私有密匙,这两处的内容必须完全相同,这样应用程序和论坛之间才能 正常通信。私有密匙决定了加密算法的强度,因此密匙长度请不要小于 10 个字节,并包含字母、数字和符号,以保证系统的安全。

加密算法

Discuz! Passport 采用 Azerbaijan Development Group(AzD.....

Read More →

Dreamweaver启动停留在初始化扩展的位置的解决方法

先删除DREAMWEAVER的用户配置文件,一般位于:C:\Documents and Settings\<username>\Application Data\Macromedia\Dreamweaver 8\Configuration(隐藏的文件夹)

将Dreamweaver 8整个目录重新命名,或干脆删掉。

再将注册表中的Dreamweaver 8配置项删掉或重命名,位置:HKEY_CURRENT_USER\Software\Macromedia\Dreamweaver 8

最后一步将HKEY_CURRENT_USER\Software\Macromedia\Common\8\Sites节点删除或重命名。

一切OK~~~

重新启动的时候就会发现会让你重新选择是不是设计者什么的...

Read More →

Apache2.2 服务因 1 (0x1) 服务性错误无法启动的解法

问题:

当启动Apache2 时发现无法启动,检查端口没问题,手动启动服务也无法启动,报这个错:Apache2.2 服务因 1 (0x1) 服务性错误而停止 

这个问题是在我改一Apache服务器的配置文件之后重启服务器时出现的,很奇怪,当时只是改了一下网站的路径,没理由,这样就出问题了,依据我多年的经验,是不是中文问题?如然,把网站放在非中文路径下就OK了,哈哈~~~

Read More →
在线学习答案查询入口
微信扫一扫
微信扫码联系