中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP針對中英文混合字符串長度判斷及截取的示例分析

發布時間:2021-07-26 10:43:30 來源:億速云 閱讀:111 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“PHP針對中英文混合字符串長度判斷及截取的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP針對中英文混合字符串長度判斷及截取的示例分析”這篇文章吧。

具體如下:

/**
 * 
 * 中英混合字符串長度判斷 
 * @param unknown_type $str
 * @param unknown_type $charset
 */
function strLength($str, $charset = 'utf-8') {
  if ($charset == 'utf-8')
    $str = iconv ( 'utf-8', 'gb2312', $str );
  $num = strlen ( $str );
  $cnNum = 0;
  for($i = 0; $i < $num; $i ++) {
    if (ord ( substr ( $str, $i + 1, 1 ) ) > 127) {
      $cnNum ++;
      $i ++;
    }
  }
  $enNum = $num - ($cnNum * 2);
  $number = ($enNum / 2) + $cnNum;
  return ceil ( $number );
}
/**
 * 
 * 中英混合的字符串截取
 * @param unknown_type $sourcestr
 * @param unknown_type $cutlength
 */
function cut_str($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 ++; //但考慮整體美觀,大寫字母計成一個高位字符
    } else //其他情況下,包括小寫字母和半角標點符號,
    {
      $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
      $i = $i + 1; //實際的Byte數計1個
      $n = $n + 0.5; //小寫字母和半角標點等與半個高位字符寬...
    }
  }
  if ($str_length > $cutlength) {
    $returnstr = $returnstr . "..."; //超過長度時在尾處加上省略號
  }
  return $returnstr;
}

以上是“PHP針對中英文混合字符串長度判斷及截取的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

五台县| 伊川县| 上林县| 中阳县| 西丰县| 高尔夫| 盐津县| 尼勒克县| 广元市| 上饶市| 喜德县| 武宣县| 托克逊县| 齐齐哈尔市| 江孜县| 沈阳市| 太康县| 沅江市| 德阳市| 雅安市| 封丘县| 大石桥市| 平泉县| 堆龙德庆县| 新源县| 礼泉县| 衡南县| 明光市| 鄂尔多斯市| 白城市| 朝阳市| 永福县| 临漳县| 合江县| 丰台区| 钟山县| 阿合奇县| 莱州市| 克拉玛依市| 长寿区| 时尚|