国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php 截取中英文混合字符串

RdouTyping / 3605人閱讀

摘要:截取中英文字符串截取中英文字符串,就不必再用或者截取想這樣的字符串李三像不確定字符串是什么組成方式的時候,拿不準該用還是的時候,可以試試以下方法,是否能解決的你得煩惱利用中英混合的字符串截取字符串的字節數得到字符串中第位字符的碼如果位高與,

php 截取中英文字符串

php 截取中英文字符串,就不必再用substr或者mb_substr

//截取想這樣的字符串
a李三

像不確定字符串是什么組成方式的時候,拿不準該用substr還是mb_substr的時候 ,可以試試以下方法,是否能解決的你得煩惱

利用ASCII

/**
 * 
 * 中英混合的字符串截取
 * @param unknown_type $sourcestr
 * @param unknown_type $cutlength
 */
function assoc_substr($sourcestr, $cutlength) {
      $returnstr = "";
      $i = 0;
      $n = 0;
      $str_length = strlen ( $sourcestr ); //字符串的字節數 
      while ( ($n < $cutlength) and ($i <= $str_length) ) {
        $temp_str = substr ( $sourcestr, $i, 1 );
        $ascnum = Ord ( $temp_str ); //得到字符串中第$i位字符的ascii碼 
        if ($ascnum >= 224) {//如果ASCII位高與224,
              $returnstr = $returnstr . substr ( $sourcestr, $i, 3 ); //根據UTF-8編碼規范,將3個連續的字符計為單個字符   
              $i = $i + 3; //實際Byte計為3
              $n ++; //字串長度計1
        } elseif ($ascnum >= 192){ //如果ASCII位高與192,
              $returnstr = $returnstr . substr ( $sourcestr, $i, 2 ); //根據UTF-8編碼規范,將2個連續的字符計為單個字符 
              $i = $i + 2; //實際Byte計為2
              $n ++; //字串長度計1
        } elseif ($ascnum >= 65 && $ascnum <= 90) {//如果是大寫字母,
          $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
          $i = $i + 1; //實際的Byte數仍計1個
          $n ++; //但考慮整體美觀,大寫字母計成一個高位字符
        }elseif ($ascnum >= 97 && $ascnum <= 122) {
            $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
            $i = $i + 1; //實際的Byte數仍計1個
            $n ++; //但考慮整體美觀,大寫字母計成一個高位字符
        } else {//其他情況下,半角標點符號,
          $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
          $i = $i + 1; 
          $n = $n + 0.5; 
        }
      }
      return $returnstr;
}

通過這樣就可以很方便的進行一些字符串的截取等,避免因為字節不同而截取亂碼或者不對的情況。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28743.html

相關文章

  • PHP 符串截取符串函數

    摘要:應用場景從數據庫讀取產品標題過長時,會導致布局混亂,我們可以使用字符串截斷函數進行截斷,用代替截斷部分。 應用場景 從數據庫讀取產品標題過長時,會導致布局混亂,我們可以使用字符串截斷函數進行截斷,用...代替截斷部分。 函數代碼 /** * 字符截?。▽χ形摹⒂⑽亩伎梢赃M行截?。? * @param string $string 字符串 * @...

    godiscoder 評論0 收藏0
  • PHP經驗總結 - 開發技巧分享

    摘要:這里簡單介紹一下方法,中文解釋就是將整個文件讀入一個字符串,它有個參數這里他們分別表示要讀取的文件的名稱,另指路徑,后面三個參數基本不會用到,甚至第二個參數都很少見,所以重點是確定你要讀取文件的路徑,是絕對路徑。 簡述 接觸PHP差不多2年,從懵懂到入門,再到追求穩定高效的高階級學習,我慢慢的積累一些PHP編程經驗,我本人記性不好,所以把這些經驗記下來,慢慢累積,樂自助人,何樂不為呢?...

    mikasa 評論0 收藏0
  • PHP符串操作

    摘要:字符串變量被解析。很顯然,代表,代表獲取字符串的長度對于英文數字字母。你好,截取字符串對于純英文字符,可以使用對于中文字符,可以使用例如你好,世界查找字符串查找字符串,有內置函數代表,應該代表。當然也有函數用于處理其他編碼的字符串。 1. 單引號和雙引號 PHP可以在單引號或者雙引號中包含字符串。但是單引號和雙引號有所區別。 單引號包含的內容會被認為是普通字符串 雙引號中允許包含字符...

    taoszu 評論0 收藏0
  • PHP 常用函數記錄 一

    遞歸創建目錄 /** * 遞歸創建目錄 * @param [type] $dir [description] * @return [type] [description] */ function mkdirs($dir) { if(!is_dir($dir)){ if(!mkdirs(dirname($dir))){ return...

    snowell 評論0 收藏0
  • Smarty(變量修飾器)

    摘要:一概念變量修飾器調節器可用于變量,自定義函數和字符串。請使用符號和修飾器名稱應用修飾器。變量修飾器由賦予的參數值決定其行為。與之相反將變量值轉成大寫字母所有字母,無參數。它與修飾器的效果剛好相反。它們會按復合的順序來作用于變量,從左到右。 一、概念 變量修飾器(調節器)可用于變量,自定義函數和字符串。 請使用‘|’符號和修飾器名稱應用修飾器。 變量修飾器由賦予的參數值決定其行為。 參數...

    linkin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<