PHP截取中文字符串

原生寫法

<?php
/**
 * @package   BugFree
 * @version   $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $
 *
 *
 * Return part of a string(Enhance the function substr())
 *
 * @author         Chunsheng Wang <wwccss@263.net>
 * @param string $String the string to cut.
 * @param int   $Length the length of returned string.
 * @param booble $Append whether append "...": false|true
 * @return string      the cutted string.
 */
mb_substr
function sysSubStr($String,$Length,$Append = false)
{
    //如果字符串的長(zhǎng)度小于指定長(zhǎng)度,就返回這個(gè)字符串
  if (strlen($String) <= $Length )
  {
    return $String;
  }
  else
  {
    //否則當(dāng)長(zhǎng)度
    $I = 0;
    while ($I < $Length)
    {
      $StringTMP = substr($String,$I,1);
      if ( ord($StringTMP) >=224 )
      {
        $StringTMP = substr($String,$I,3);
        $I = $I + 3;
      }
      elseif( ord($StringTMP) >=192 )
      {
        $StringTMP = substr($String,$I,2);
        $I = $I + 2;
      }
      else
      {
        $I = $I + 1;
      }
      $StringLast[] = $StringTMP;
    }
    $StringLast = implode("",$StringLast);
    if($Append)
    {
      $StringLast .= "...";
    }
    return $StringLast;
  }
}
  
$String = "走在gugu7866中國(guó)自動(dòng)化測(cè)試的前沿";
$Length = "13";
$Append = false;
echo sysSubStr($String,$Length,$Append);

php內(nèi)置函數(shù)

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

根據(jù)字符數(shù)執(zhí)行一個(gè)多字節(jié)安全的 substr() 操作。 位置是從 str 的開始位置進(jìn)行計(jì)數(shù)。 第一個(gè)字符的位置是 0。第二個(gè)字符的位置是 1,以此類推。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 最先接觸編程的知識(shí)是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識(shí),c語(yǔ)言,java語(yǔ)言,單片機(jī)的匯編語(yǔ)言等;大學(xué)畢...
    oceanfive閱讀 3,367評(píng)論 0 7
  • 概述 正則表達(dá)式是一種描述字符串結(jié)果的語(yǔ)法規(guī)則,是一個(gè)特定的格式化模式,可以匹配、替換、截取匹配的字符串。常用的語(yǔ)...
    醉于麥田閱讀 549評(píng)論 0 0
  • 引言 本文將羅列我在快速閱讀代碼時(shí)所接觸到的模棱兩可的概念及實(shí)操講解。 Q&A 1. rand(5, 15) 例如...
    OzanShareing閱讀 460評(píng)論 1 3
  • 作者:美麗 我就是自己 有優(yōu)點(diǎn)也有缺點(diǎn) 開心時(shí)候會(huì)爽朗的笑 傷心的時(shí)候會(huì)嚶嚶的哭 生氣的時(shí)候會(huì)大發(fā)雷霆 傷肝傷肺的...
    雪花琵琶閱讀 203評(píng)論 1 4
  • 【死磕2017最后99天】 27/99 關(guān)鍵詞:命運(yùn)、人生 今日閱讀:《了凡四訓(xùn)》 還記得上周日在樂團(tuán)排練時(shí),看到...
    花琪兒閱讀 1,219評(píng)論 0 0

友情鏈接更多精彩內(nèi)容