91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

榆树市| 哈尔滨市| 牡丹江市| 安康市| 巴青县| 新密市| 蒙城县| SHOW| 宣威市| 北宁市| 武鸣县| 青阳县| 景德镇市| 清水县| 凤翔县| 浠水县| 海阳市| 洛扎县| 六盘水市| 南皮县| 会昌县| 诸城市| 文山县| 郎溪县| 阳曲县| 太谷县| 满城县| 合江县| 牙克石市| 邯郸县| 禹州市| 榕江县| 区。| 东兰县| 鄂州市| 包头市| 云霄县| 邹平县| 仙桃市| 怀来县| 兴隆县|