PHP 字符串截取
<?php
//$str = "abcdef◆中华人民共和国";
//$str = "1234567890";
$str = "中华人民共和国abc中华人民共和国中华人民共和国";
$str = cut_str($str, 18);
echo $str;
function cut_str($str, $len){
if(strlen($str) <= $len) return $str;
$n = 0;
$tempstr = '';
for($i = 0; $i < $len; $i++){
if(ord(substr($str,$n,1)) > 224){
$tempstr .= substr($str,$n,3);
$n += 3;
$i++;//把一个中文按两个英文的长度计算
}elseif(ord(substr($str,$n,1)) > 192){
$tempstr .= substr($str,$n,2);
$n += 2;
$i++;//把一个中文按两个英文的长度计算
}else{
$tempstr .= substr($str,$n,1);
$n++;
}
}
return $tempstr."...";
//在PHP中,用substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字所占有的字节数不一样,而substr的长度是按照字节去算的,在GB2312编码时,一个中文占2个字节,英文为1个字节,而在UTF-8编码当中,一个中文可能占有2个或3个字节,英文或半角标点占1个字节。
//UTF-8编码的字符可能由1~3个字节组成,具体数目可以由第一个字节判断出来(理论上可能更长,但这里假设不超过3个字节)
//第一个字节大于224的,它与它之后的2个字节一起组成一个UTF-8字符。
//第一个字节大于192小于224的,它与它之后的1个字节组成一个UTF-8字符
//否则第一个字节本身就是一个英文字符(包括数字和一小部分标点符号)
//OK ,知道大概的三更,解决起来就轻松多了,于是写下了以下函数用于UTF-8的字符截取:
//PHP也有自带的函数可以用于不同编码的字符串截取,如mb_substr(),但要在php.ini中开启相应的扩展。
}
?>
相关文档:
PHP 向它运行的任何脚本提供了大量的预定义常量
。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有五个魔术常量根据它们使用的位置而改变。例如 __LINE__
的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:
表 13 ......
; 本文并非是对英文版 php.ini 的简单翻译,而是参考了众多资料以后,结合自己的理解,增加了许多内容,
; 包括在原有 php.ini 基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。
; 由于作者不喜欢 no-free 的玩意儿,所以删除了除 MySQL 和 PostgreSQL 以外的其他数据库模块配置选项。
;;;;;;;;;; ......
首先创建将传输给用户的数据文件。这个文件可以有任何内容,不用担心,因为用户永远都看不到这个文件。我们考虑生成大量文本并写入到文件来创建此文件。例如下边的脚本将生成一个大约1500KB的文本文件。(暂只提供这个思路,具体略..)
<?php
/*=====http://hi.csdn.net/yinyiniao=====*/
$fp=fopen("cs.txt","w");
......
先下载并安装eclipse,下载地址:http://download.Eclipse.org/downloads/index.php。Eclipse 需要 jre 的支持,所以如果机器上还没装jre的话就赶快去下载一个装上,http://java.sun.com有jre的下载。
第二,下载并安装 PHP 在 Eclipse 的插件
地址:http://sourceforge.net/project/showfiles.php?group_id=57621&pa ......
本来不想谈这个沉重的话题,其实说白了,如果你一个PHP的程序员连怎么配置环境都搞不定你还搞个P开发呀。得,咱不说你在linux下面搞定这些,难道你在windows下面你也搞不定?
现在的PHP二进制安装版本已经可以支持apache,iis5,iis6等一些WEB服务器了,为什么还是有一些人不会配置呢?真想不通呀。。。。。。
于是在这种大 ......