最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年03月31日 11:59:38   作者:raku  
這篇文章主要介紹了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è)計有所幫助。

相關(guān)文章

  • php中一個有意思的日期邏輯處理

    php中一個有意思的日期邏輯處理

    今天處理了一個很小的問題。需求是這樣的,從周一到周日只能看到上周一到上周日的數(shù)據(jù)。這里直接從數(shù)據(jù)庫里根據(jù) date 字段查詢 范圍即可
    2012-03-03
  • FCKeditor的安裝(PHP)

    FCKeditor的安裝(PHP)

    FCKeditor的安裝(PHP)...
    2007-01-01
  • PHP實現(xiàn)的策略模式示例

    PHP實現(xiàn)的策略模式示例

    這篇文章主要介紹了PHP實現(xiàn)的策略模式,簡單介紹了策略模式的概念、原理并結(jié)合實例形式分析了php策略模式的相關(guān)實現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-03-03
  • php+mysql數(shù)據(jù)庫實現(xiàn)無限分類的方法

    php+mysql數(shù)據(jù)庫實現(xiàn)無限分類的方法

    這篇文章主要介紹了php+mysql數(shù)據(jù)庫實現(xiàn)無限分類的方法,包含完整的節(jié)點操作技巧以及相應(yīng)的應(yīng)用方法實例,是非常實用的技巧,需要的朋友可以參考下
    2014-12-12
  • php實現(xiàn)的中秋博餅游戲之繪制骰子圖案功能示例

    php實現(xiàn)的中秋博餅游戲之繪制骰子圖案功能示例

    這篇文章主要介紹了php實現(xiàn)的中秋博餅游戲之繪制骰子圖案功能,涉及php圖形繪制中位置、顏色、形狀等相關(guān)屬性設(shè)置操作技巧,需要的朋友可以參考下
    2017-11-11
  • php禁用cookie后session設(shè)置方法分析

    php禁用cookie后session設(shè)置方法分析

    這篇文章主要介紹了php禁用cookie后session設(shè)置方法,分析了php相關(guān)配置文件的功能與設(shè)置方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • 10個值得深思的PHP面試題

    10個值得深思的PHP面試題

    這篇文章主要為大家分享了值得深入思考的10個PHP面試問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • PHP與javascript實現(xiàn)變量交互的示例代碼

    PHP與javascript實現(xiàn)變量交互的示例代碼

    以下是對PHP和javascript實現(xiàn)變量交互的一個實例進(jìn)行了詳細(xì)的介紹。需要的朋友可以過來參考下
    2013-07-07
  • PHP Cookie學(xué)習(xí)筆記

    PHP Cookie學(xué)習(xí)筆記

    這篇文章主要為大家分享了PHP Cookie學(xué)習(xí)筆記,告訴大家什么是Cookie,Cookie的功能有哪些? 如何創(chuàng)建、讀取、刪除Cookie,感興趣的小伙伴們可以參考一下
    2016-08-08
  • PHP也能干大事之PHP中的編碼解碼詳解

    PHP也能干大事之PHP中的編碼解碼詳解

    這篇文章主要介紹了PHP也能干大事之PHP中的編碼解碼詳解,本文講解了ASCII編解碼、URL編解碼、Base64編解碼、HTML實體編解碼、二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制相互轉(zhuǎn)換等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評論

靖宇县| 金湖县| 定襄县| 封开县| 滨海县| 乐清市| 合作市| 南召县| 饶阳县| 田林县| 昌吉市| 陆良县| 晋城| 读书| 江山市| 松滋市| 洞口县| 渑池县| 元氏县| 宝山区| 故城县| 两当县| 吉木乃县| 永康市| 灯塔市| 达拉特旗| 都江堰市| 新宁县| 定远县| 七台河市| 三台县| 沾化县| 阳城县| 即墨市| 垦利县| 苗栗市| 葫芦岛市| 象山县| 和硕县| 长岛县| 龙江县|