<code id="pndtx"></code>
<acronym id="pndtx"></acronym>
  • <td id="pndtx"><ruby id="pndtx"></ruby></td>

    <output id="pndtx"></output>

    云南網站建設創新企業 昆明多彩網絡公司

    在線qq:540105663

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

    來源:昆明網頁設計 日期:2010-07-07 閱讀: 發表評論

    php帶有內置的截取函數,但是僅在英文和數字環境下有效,截取中文和英文數字組合的時候就會出現亂碼問題,本文是針對GBK中文的截取函數說明。


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

    發表評論評論列表(有 條評論)

    相關文章:
    暫無相關文章
    最熱文章:
    新手怎么制作網頁? 閱讀:7660
    jcarousellite中文文檔 閱讀:6507
    表單元素input、按鈕、文字完美垂 閱讀:6247
    怎么使chrome(谷歌google 閱讀:6145
    phpMailer中文文檔手冊 閱讀:4639
    69xx无码在线观看,中文字幕在线高清男人的天堂,国产最新进精品视频,人成视频永久免费播放
    <code id="pndtx"></code>
    <acronym id="pndtx"></acronym>
  • <td id="pndtx"><ruby id="pndtx"></ruby></td>

    <output id="pndtx"></output>