久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

這篇文章主要介紹了PHP針對中英文混合字符串長度判斷及截取方法,結(jié)合實例形式分析了php中英文字符串的遍歷、轉(zhuǎn)換、截取、計算等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了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 ); //字符串的字節(jié)數(shù) 
  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 ); //根據(jù)UTF-8編碼規(guī)范,將3個連續(xù)的字符計為單個字符   
      $i = $i + 3; //實際Byte計為3
      $n ++; //字串長度計1
    } elseif ($ascnum >= 192) //如果ASCII位高與192,
    {
      $returnstr = $returnstr . substr ( $sourcestr, $i, 2 ); //根據(jù)UTF-8編碼規(guī)范,將2個連續(xù)的字符計為單個字符 
      $i = $i + 2; //實際Byte計為2
      $n ++; //字串長度計1
    } elseif ($ascnum >= 65 && $ascnum <= 90) //如果是大寫字母,
    {
      $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
      $i = $i + 1; //實際的Byte數(shù)仍計1個
      $n ++; //但考慮整體美觀,大寫字母計成一個高位字符
    } else //其他情況下,包括小寫字母和半角標(biāo)點符號,
    {
      $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
      $i = $i + 1; //實際的Byte數(shù)計1個
      $n = $n + 0.5; //小寫字母和半角標(biāo)點等與半個高位字符寬...
    }
  }
  if ($str_length > $cutlength) {
    $returnstr = $returnstr . "..."; //超過長度時在尾處加上省略號
  }
  return $returnstr;
}

PS:這里再為大家推薦幾款在線字符統(tǒng)計工具供大家參考:

在線字?jǐn)?shù)統(tǒng)計工具:
http://tools.jb51.net/code/zishutongji

在線字符統(tǒng)計與編輯工具:
http://tools.jb51.net/code/char_tongji

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結(jié)合實例形式分析了php實現(xiàn)針對有序表插值查找的相關(guān)操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現(xiàn)服務(wù)端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現(xiàn)APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現(xiàn)的多維數(shù)組排序算法,結(jié)合實例形式對比分析了php針對多維數(shù)組及帶有鍵名的多維數(shù)組進行排序相關(guān)操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結(jié)合ajaxuploadfile實現(xiàn)無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發(fā)接口使用RSA進行加密解密方法,對此有興趣的朋友可以學(xué)習(xí)下。
主站蜘蛛池模板: 中文字幕av第一页 | 欧美特级黄色 | 一区二区在线不卡 | 东方伊人免费在线观看 | 国产丝袜一区二区三区免费视频 | 久久精品亚洲欧美日韩精品中文字幕 | 国产yw851.c免费观看网站 | 请别相信他免费喜剧电影在线观看 | 国产精品国产精品国产专区不片 | 成人网视频 | 一区二区三区四区国产精品 | 一级毛片黄片 | 色偷偷噜噜噜亚洲男人 | 成人在线免费看 | 亚洲二区视频 | 97视频成人 | 欧美日韩网站 | 91久久精品一区二区三区 | 91影院 | 国产精品18久久久久久白浆动漫 | 亚洲一区亚洲二区 | 久久精品日产第一区二区三区 | 超级乱淫av片免费播放 | 中文字幕第90页 | 狠狠干av| 国产精品视频在线播放 | 精品亚洲一区二区三区 | 日韩在线免费视频 | 黄色一级片在线播放 | 国产午夜一级 | 亚洲精品一区二区 | 99免费视频| 黄色一级大片在线免费看产 | 成人一区二区三区视频 | 欧美影院 | 国产91av视频在线观看 | 亚洲精品福利视频 | a在线免费观看 | 国产一区二区精品 | 蜜桃视频在线观看免费视频网站www | 国产激情91久久精品导航 |