欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php源碼分析之DZX1.5字符串截?cái)嗪瘮?shù)cutstr用法

 更新時(shí)間:2015年06月17日 16:43:34   作者:邪惡的小Y  
這篇文章主要介紹了php源碼分析之DZX1.5字符串截?cái)嗪瘮?shù)cutstr用法,實(shí)例分析了DZX1.5中cutstr函數(shù)實(shí)現(xiàn)字符串截取的使用技巧,需要的朋友可以參考下

本文實(shí)例講述了php源碼分析之DZX1.5字符串截?cái)嗪瘮?shù)cutstr用法。分享給大家供大家參考。具體分析如下:

<?php 
/**
 * 函數(shù)來源DZX1.5,文件所在 /source/function/function_core.php
 */
define('CHARSET','UTF-8');
function cutstr($string, $length, $dot="...") {
  if(strlen($string)<=$length) {
    return $string;
  }
  if(strtolower(CHARSET) == "utf-8") {
    $n = $tn = $noc = 0;
    while($n < strlen($string)) {
      $t = ord($string[$n]);
      if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
        $tn = 1; $n++; $noc++;
      } elseif(194 <= $t && $t <= 223) {
        $tn = 2; $n += 2; $noc += 2;
      } elseif(224 <= $t && $t <= 239) {
        $tn = 3; $n += 3; $noc += 2;
      } elseif(240 <= $t && $t <= 247) {
        $tn = 4; $n += 4; $noc += 2;
      } elseif(248 <= $t && $t <= 251) {
        $tn = 5; $n += 5; $noc += 2;
      } elseif($t == 252 || $t == 253) {
        $tn = 6; $n += 6; $noc += 2;
      } else {
        $n++;
      }
      if($noc >= $length) {
        break;
      }
    }
    if($noc > $length) {
      $n -= $tn;
    }
    $strcut = substr($string, 0, $n);
  } else {
    for($i = 0; $i < $length; $i++) {
      $strcut .= ord($string[$i])>127 ? $string[$i].$string[++$i] : $string[$i];
    }
  }
  $pos = strrpos($strcut, chr(1));
  if($pos !== false) {
    $strcut = substr($strcut,0,$pos);
  }
  return $strcut.$dot;
}
$string = '測(cè)試數(shù)據(jù)庫ablci102020@(#)!)!測(cè)試勞動(dòng)力ddk';
echo cutstr($string,15);
/*End of php*/

運(yùn)行結(jié)果如下:

測(cè)試數(shù)據(jù)庫ablci1020...

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP 驗(yàn)證碼不顯示只有一個(gè)小紅叉的解決方法

    PHP 驗(yàn)證碼不顯示只有一個(gè)小紅叉的解決方法

    做了個(gè)驗(yàn)證碼,但不知道怎么搞的,總出現(xiàn)一個(gè)如下圖的小紅叉,但驗(yàn)證碼就是顯示不出來,經(jīng)搜索發(fā)現(xiàn)個(gè)不錯(cuò)的方法,有類似情況的朋友可以參考下
    2013-09-09
  • 非常有用的9個(gè)PHP代碼片段

    非常有用的9個(gè)PHP代碼片段

    這篇文章主要為大家介紹了非常有用的9個(gè)PHP代碼片段,在開發(fā)網(wǎng)站、app或博客時(shí),代碼片段可以真正地為你節(jié)省時(shí)間,感興趣的小伙伴們可以參考一下
    2016-04-04
  • PHP基于遞歸算法解決兔子生兔子問題

    PHP基于遞歸算法解決兔子生兔子問題

    這篇文章主要介紹了PHP基于遞歸算法解決兔子生兔子問題,結(jié)合實(shí)例形式分析了兔子生兔子問題的php面試題采用循環(huán)與遞歸兩種思路的解決方法,需要的朋友可以參考下
    2018-05-05
  • PHP開發(fā)需要注意的安全問題

    PHP開發(fā)需要注意的安全問題

    php開發(fā)過程中,需要注意的安全細(xì)節(jié),其實(shí)不只是php其它語言通用。
    2010-09-09
  • phpinfo的知識(shí)點(diǎn)總結(jié)

    phpinfo的知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家分享的是關(guān)于phpinfo的知識(shí)點(diǎn)總結(jié),需要的朋友們可以跟著學(xué)習(xí)下。
    2019-10-10
  • PHP的消息通信機(jī)制測(cè)試實(shí)例

    PHP的消息通信機(jī)制測(cè)試實(shí)例

    這篇文章主要介紹了PHP的消息通信機(jī)制,結(jié)合實(shí)例形式分析了php消息通信的信息發(fā)送與獲取相關(guān)操作技巧,需要的朋友可以參考下
    2016-11-11
  • PHP接收App端發(fā)送文件流的方法

    PHP接收App端發(fā)送文件流的方法

    這篇文章主要介紹了PHP接收App端發(fā)送文件流的方法,涉及php基于curl的文件傳輸操作相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • PHP數(shù)據(jù)庫操作三:redis用法分析

    PHP數(shù)據(jù)庫操作三:redis用法分析

    這篇文章主要介紹了PHP數(shù)據(jù)庫操作redis用法,結(jié)合實(shí)例形式詳細(xì)分析了php安裝、使用redis的步驟、方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • zend framework配置操作數(shù)據(jù)庫實(shí)例分析

    zend framework配置操作數(shù)據(jù)庫實(shí)例分析

    zend framework項(xiàng)目建立后,看了下zend framework配置操作數(shù)據(jù)庫,本文將詳細(xì)介紹,需要了解的朋友可以參考下
    2012-12-12
  • 使用PHP獲取漢字的拼音(全部與首字母)

    使用PHP獲取漢字的拼音(全部與首字母)

    本篇文章是對(duì)使用PHP獲取漢字的拼音(全部與首字母)實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論