易截截图软件、单文件、免安装、纯绿色、仅160KB

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无限分类的类

<?php
/**
 by lenush;
 */
class Tree
{
    var $data    = array();
    var $child    = array(-1=>array());
    var $layer    = array(-1=>-1);
    var $parent &nbs ......

php的static变量作用域

对于运行在apache里的php应用来说,static变量的作用域是一次http请求。
可以通过以下代码进行验证:
<?php
# test.php
function test(){
     static $sss = 0;
     ++$sss;
     echo $sss;
}
test();
?>
访问/test.php ,可以看到,总是 ......

PHP创建excel文件简单的方法

<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=php100.xls");

/* echo "A1\t B1\t C1\n";
echo "A1\t B1\t C1\n";
echo "A1\t B1\t C1\n";
*/
?>
<!--*********************************************报表***************************************** ......

PHP套件

本来不想谈这个沉重的话题,其实说白了,如果你一个PHP的程序员连怎么配置环境都搞不定你还搞个P开发呀。得,咱不说你在linux下面搞定这些,难道你在windows下面你也搞不定?
现在的PHP二进制安装版本已经可以支持apache,iis5,iis6等一些WEB服务器了,为什么还是有一些人不会配置呢?真想不通呀。。。。。。
于是在这种大 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号