适应中文的substr函数

函数|中文

    function SubstrGB($in,$num){
        $pos=0;
        $out="";
        while($c=substr($in,$pos,1)){
            if($c=="\n") break;
            if(ord($c)>128){
                $out.=$c;
                $pos++;
                $c=substr($in,$pos,1);
                $out.=$c;
            }
            else{
                $out.=$c;
            }
            $pos++;
            if($pos>=$num) break;
        }
        return $out;
    }

时间: 2024-12-27 09:52:13

适应中文的substr函数的相关文章

php substr()函数截取中文字符串乱码

php截取中文字符串出现乱码,这是最近发现的事情,先前我曾经写过一篇关于自动生成meta信息的文章 ,那篇关于利用php截取文章前多少字作为description方法,但是出现了IE6无法加载CSS的现象,这里 做一个补充.   首先要明确这么一个问题,之所以会出现IE6偶尔无法加载CSS的现象,是因为文件出现了乱码,导致后 面的加载CSS的link无法被IE6正确解析.因此就看到了一个纯HTML页面,没有CSS,赤裸裸! 明确了问题,剩下的问题就好解决了,就是防止乱码,既然万戈所提供的函数出现

介绍一组中文处理工具函数

函数|中文 <?/*    中文处理工具函数--- 空格 ---      string GBspace(string) --------- 每个中文字之间加空格      string GBunspace(string) ------- 每个中文字之间的空格清除      string clear_space(string) ------- 用来清除多余的空格 --- 转换 ---      string GBcase(string,offset) --- 将字符串内的中英文字转换大小写   

substr()函数中文版_php基础

substr()函数中文版 普通的substr()函数可以取得字符串的指定长度子字符串,但遇到中文时可能会在新字符串末尾产生乱码,下面这个函数将超过$len长度的字符串转换成以"..."结尾,并且去除了乱码. 用法:$new = getsubstring($old,20); function getsubstring($str,$len) {     for($i = 0;$i <$end;$i++)     {         if ($i >=0 AND $i <

php中计算中文字符串长度、截取中文字符串的函数代码_php技巧

在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务器,则只要在php.ini中开启即可.如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了. 以下几个函数用起来颇为顺手的.不过要知道,得在utf-8环境下使用. 复制代码 代码如下: header('Content-type:text/html;cha

php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例_php技巧

本文实例讲述了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法.分享给大家供大家参考,具体如下: /* *gb2312中文字符串截取 */ function substr_for_gb2312($str,$start,$len=null) { $totlelength = strlen($str); //特例情况 if ($len == null) $len = $totlelength; if ($len ==0) return ""

中文处理工具函数

<? /*    中文处理工具函数 --- 空格 ---       string GBspace(string) --------- 每个中文字之间加空格       string GBunspace(string) ------- 每个中文字之间的空格清除       string clear_space(string) ------- 用来清除多余的空格 --- 转换 ---       string GBcase(string,offset) --- 将字符串内的中英文字转换大小写   

substr()函数中文版

substr()函数中文版普通的substr()函数可以取得字符串的指定长度子字符串,但遇到中文时可能会在新字符串末尾产生乱码,下面这个函数将超过$len长度的字符串转换成以"..."结尾,并且去除了乱码.用法:$new = getsubstring($old,20); function getsubstring($str,$len) {     for($i = 0;$i <$end;$i++)     {             if ($i >=0 AND $i &l

php 中文字符串截取函数

<? //php教程 中文字符串截取函数 /* */  代码如下 复制代码 function substr($str = '', $offset = 0, $len = 0){     $len || ($len = strlen($str));     preg_match_all('/./us', $str, $result);     return implode('', array_slice($result[0], $offset, $len)); } //方法二  代码如下 复制代码

一个阿拉伯数字转中文数字的函数

函数|中文 最近因需要,写了个"阿拉伯数字转中文数字的函数".搜索了精华区只见到一个类似的.感觉到我的算法不错,所以贴出来共享一下如果要用于金额的转换,对小数部分的处理要做一下修改<?phpfunction ch_num($num,$mode=true) { $char = array("零","壹","贰","叁","肆","伍","陆",