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

最準(zhǔn)確的php截取字符串長(zhǎng)度函數(shù)

 更新時(shí)間:2015年10月29日 15:58:33   投稿:lijiao  
這篇文章為大家分享了最準(zhǔn)確的php截取字符串長(zhǎng)度函數(shù),最精確的截取長(zhǎng)度,大家可以在此基礎(chǔ)上進(jìn)行改進(jìn),感興趣的小伙伴們可以參考一下

說(shuō)是最精確截取長(zhǎng)度,其實(shí)我也不敢確定是否是最精確的,具體有多精確看下面的效果就知道了:
先上測(cè)試用的字符串:

<?php 
header("Content-Type:text/html;charset=utf-8"); 
echo cn_substr_utf8('我是一個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('ai\'2145m a ch3我[是一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('【我,是一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('我是一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('我是,一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('我,是,一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('我是asd一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('【我i\'m[是一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('【i\'m a ch我[是一,個(gè),和哈,哦也,,國(guó)家!',12); 
echo '<br />',cn_substr_utf8('【i\'2145m a ch3我[是一,個(gè),和哈,哦也,,國(guó)家!',12); 

下面是精確截取字符串的效果圖:


具體函數(shù)代碼如下:

//utf-8中文截取,單字節(jié)截取模式 
function cn_substr_utf8($str,$length,$append='...',$start=0){ 
  if(strlen($str)<$start+1){ 
    return ''; 
  } 
  preg_match_all("/./su",$str,$ar); 
  $str2=''; 
  $tstr=''; 
  //www.phpernote.com 
  for($i=0;isset($ar[0][$i]);$i++){ 
    if(strlen($tstr)<$start){ 
      $tstr.=$ar[0][$i]; 
    }else{ 
      if(strlen($str2)<$length + strlen($ar[0][$i])){ 
        $str2.=$ar[0][$i]; 
      }else{ 
        break; 
      } 
    } 
  } 
  return $str==$str2?$str2:$str2.$append; 
} 

如果大家認(rèn)為還不夠準(zhǔn)確大家可以在此基礎(chǔ)上進(jìn)行改進(jìn),或者是創(chuàng)新,希望這篇關(guān)于php截取字符串長(zhǎng)度函數(shù)的文章對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Php 構(gòu)造函數(shù)construct的前下劃線是雙的_

    Php 構(gòu)造函數(shù)construct的前下劃線是雙的_

    最近寫(xiě)php的class時(shí),總是碰到function non object的錯(cuò)誤,知道是類沒(méi)有實(shí)例化,但就是不知道錯(cuò)誤在哪里。
    2009-12-12
  • PHP基于timestamp和nonce實(shí)現(xiàn)的防止重放攻擊方案分析

    PHP基于timestamp和nonce實(shí)現(xiàn)的防止重放攻擊方案分析

    這篇文章主要介紹了PHP基于timestamp和nonce實(shí)現(xiàn)的防止重放攻擊方案,簡(jiǎn)單講述了重放攻擊相關(guān)原理并結(jié)合實(shí)例形式分析了php使用timestamp和nonce實(shí)現(xiàn)的防止重放攻擊相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Linux下快速搭建php開(kāi)發(fā)環(huán)境

    Linux下快速搭建php開(kāi)發(fā)環(huán)境

    本文主要介紹了Linux下快速搭建php開(kāi)發(fā)環(huán)境的方法步驟。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • 總結(jié)PHP刪除字符串最后一個(gè)字符的三種方法

    總結(jié)PHP刪除字符串最后一個(gè)字符的三種方法

    這篇文章為大家講解的是php實(shí)現(xiàn)如何去掉字符串的最后一個(gè)字符的多種方法,感興趣的同學(xué)參考下。下面來(lái)一起看看。
    2016-08-08
  • PHPMailer發(fā)送郵件功能實(shí)現(xiàn)流程

    PHPMailer發(fā)送郵件功能實(shí)現(xiàn)流程

    隨著企業(yè)化的管理越來(lái)越規(guī)范,各種項(xiàng)目管理系統(tǒng)中,都需要加入到郵件實(shí)時(shí)通知功能,所以在項(xiàng)目中如何整合發(fā)郵件功能,其實(shí)也是很重要的一點(diǎn)。本文為大家介紹了PHP實(shí)現(xiàn)郵件實(shí)時(shí)通知功能的示例代碼,需要的可以參考一下
    2022-12-12
  • 功能強(qiáng)大的PHP POST提交數(shù)據(jù)類

    功能強(qiáng)大的PHP POST提交數(shù)據(jù)類

    這篇文章主要為大家詳細(xì)介紹了功能強(qiáng)大的PHP POST提交數(shù)據(jù)類,代碼簡(jiǎn)潔且具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • php導(dǎo)出生成word的方法

    php導(dǎo)出生成word的方法

    這篇文章主要介紹了php導(dǎo)出生成word的方法,結(jié)合實(shí)例形式分析了php查詢數(shù)據(jù)庫(kù)及導(dǎo)出生成word文檔的具體步驟與相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • php設(shè)計(jì)模式 Bridge (橋接模式)

    php設(shè)計(jì)模式 Bridge (橋接模式)

    將抽象部份與它實(shí)現(xiàn)部分分離,使用它們都可以有獨(dú)立的變化
    2011-06-06
  • 深入講解PHP的對(duì)象注入(Object Injection)

    深入講解PHP的對(duì)象注入(Object Injection)

    這篇文章主要介紹了PHP中對(duì)象注入的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • PHP中“=>

    PHP中“=>

    在本篇文章里小編給大家分享了關(guān)于PHP中“=>"符號(hào)用法和作用詳解,需要的朋友們學(xué)習(xí)下。
    2019-03-03

最新評(píng)論