首頁 >後端開發 >php教程 >php 截取utf-8格式的字串

php 截取utf-8格式的字串

墨辰丷
墨辰丷原創
2018-05-31 09:49:221621瀏覽

這篇文章主要介紹了php 截取utf-8格式的字串實例程式碼的相關資料,並附實例程式碼,需要的朋友可以參考下

php 截取utf-8格式的字串

php中,我們常常需要截取字串。英文字元佔用一個字節,中文字元佔用兩個字節,但中文字元佔用兩個位元組是相對於GBK編碼而言但是在時下國際流行的UTF8編碼中,一個中文字元佔用3個位元組。這篇文章向大家介紹一個php 截取utf-8格式字串的函數。

舉例說明:

function truncate_utf8_string($string, $length, $etc = '...') {
 $result = '';
 $string = html_entity_decode ( trim ( strip_tags ( $string ) ), ENT_QUOTES, 'UTF-8' );
 $strlen = strlen ( $string );
 for($i = 0; (($i < $strlen) && ($length > 0)); $i ++) {
 if ($number = strpos ( str_pad ( decbin ( ord ( substr ( $string, $i, 1 ) ) ), 8, &#39;0&#39;, STR_PAD_LEFT ), &#39;0&#39; )) {
  if ($length < 1.0) {
  break;
  }
  $result .= substr ( $string, $i, $number );
  $length -= 1.0;
  $i += $number - 1;
 } else {
  $result .= substr ( $string, $i, 1 );
  $length -= 0.5;
 }
 }
 $result = htmlspecialchars ( $result, ENT_QUOTES, &#39;UTF-8&#39; );
 if ($i < $strlen) {
 $result .= $etc;
 }
 return $result;
}

如果需要截取utf-8格式的字串,直接呼叫這個函數即可。

<?php
  $str="如果需要截取utf-8格式的字符串,直接调用这个函数即可。";
  echo truncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格...
?>

以上就是本文的全部內容,希望對大家的學習有幫助。


相關推薦:

PHP實作APP微信支付案例解析

php魔法函數與魔法常數使用方法

PHP魔術方法之__call與__callStatic如何使用

#

以上是php 截取utf-8格式的字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn