伊人久久大杳蕉综合丁香五月,久久久91亚洲视频,亚洲综合天堂Av网站在线观看,欧美亚洲中文高清

      • 云南網(wǎng)站建設(shè)創(chuàng)新企業(yè) 昆明多彩網(wǎng)絡(luò)公司

        php截取字符(按字符數(shù)截取),GBK中文

        來源:昆明網(wǎng)頁設(shè)計(jì) 日期:2010-07-07 閱讀: 發(fā)表評(píng)論

        php帶有內(nèi)置的截取函數(shù),但是僅在英文和數(shù)字環(huán)境下有效,截取中文和英文數(shù)字組合的時(shí)候就會(huì)出現(xiàn)亂碼問題,本文是針對(duì)GBK中文的截取函數(shù)說明。


        /**
         * strlen得到一個(gè)字符串的字節(jié)數(shù),filesize得到的是一個(gè)文件的字?jǐn)?shù)
         *
         * ---------------------------------------------------------------------
         * 僅針對(duì)gbk字符
         *
         * 用到的函數(shù):
         * ord() 函數(shù):返回字符串第一個(gè)字符的 ASCII 值
         * 提示:
         * gbk編碼原理
         * 第一個(gè)字節(jié)ASCII碼>129的,它與它之后的1個(gè)字節(jié)一起組成一個(gè)gbk字符,
         *第一個(gè)字節(jié)ASCII碼<=129的,一個(gè)字節(jié)組成一個(gè)gbk字符
         */
        function cutStr($str, $length = '') { // $length為字符個(gè)數(shù),不是字節(jié)
         if ($length != '') { // 如果$length不為空
          $len = strlen($str); //得到字符長度
          $strOk = '';
          $i = 0; //字符長度
          $n = 0; //字符個(gè)數(shù)
          while ($i < $len && $n < $length) {
           $ascii = ord($str{$i}); //得到當(dāng)前字節(jié)的ASCII碼
           if ($ascii > 129) { // 大于129,是2個(gè)字節(jié)字符
            $strOk .= substr($str, $i, 2);
            $i += 2;
            $n++;
           } else { // 小于等于129,是1個(gè)字節(jié)字符
            $strOk .= substr($str, $i, 1);
            $i++;
            $n++;
           }
          }
         } else {
          $strOk = $str;
         }
         return $strOk;
        }
        // 示例
        $text = file_get_contents('test.txt'); //截取的字符串
        echo cutStr($text);

        發(fā)表評(píng)論評(píng)論列表(有 條評(píng)論)

        相關(guān)文章:
        暫無相關(guān)文章
        最熱文章:
        新手怎么制作網(wǎng)頁? 閱讀:7660
        jcarousellite中文文檔 閱讀:6507
        表單元素input、按鈕、文字完美垂 閱讀:6247
        怎么使chrome(谷歌google 閱讀:6145
        phpMailer中文文檔手冊(cè) 閱讀:4639