php 截取utf-8格式的字符串實例代碼
php 截取utf-8格式的字符串
php中,我們經(jīng)常需要截取字符串。英文字符占用一個字節(jié),中文字符占用兩個字節(jié),但中文字符占用兩個字節(jié)是相對于GBK編碼而言但是在時下國際流行的UTF8編碼中,一個中文字符占用3個字節(jié)。本文章向大家介紹一個php 截取utf-8格式字符串的函數(shù)。
舉例說明:
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, '0', STR_PAD_LEFT ), '0' )) {
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, 'UTF-8' );
if ($i < $strlen) {
$result .= $etc;
}
return $result;
}
如果需要截取utf-8格式的字符串,直接調(diào)用這個函數(shù)即可。
<?php $str="如果需要截取utf-8格式的字符串,直接調(diào)用這個函數(shù)即可。"; echo truncate_utf8_string($str,10);//輸出結(jié)果:如果需要截取utf-8格... ?>
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
ThinkPHP實現(xiàn)多數(shù)據(jù)庫連接的解決方法
這篇文章主要介紹了ThinkPHP實現(xiàn)多數(shù)據(jù)庫連接的解決方法,需要的朋友可以參考下2014-07-07
PHP設計模式(五)適配器模式Adapter實例詳解【結(jié)構(gòu)型】
這篇文章主要介紹了PHP設計模式:適配器模式Adapter,結(jié)合實例形式詳細分析了PHP適配器模式Adapter基本概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-05-05
CI(CodeIgniter)框架實現(xiàn)圖片上傳的方法
這篇文章主要介紹了CI(CodeIgniter)框架實現(xiàn)圖片上傳的方法,結(jié)合實例形式分析了基于CodeIgniter調(diào)用文件上傳類實現(xiàn)圖片上傳功能的相關操作技巧,需要的朋友可以參考下2017-03-03
利用PHP?POST臨時文件機制實現(xiàn)任意文件上傳的方法詳解
這篇文章主要介紹了利用?PHP?POST?臨時文件機制實現(xiàn)任意文件上傳,同時該過程也會打斷 php 對臨時文件的處理,雖然最終仍會被刪除,但相較之前可以明顯看出臨時文件在磁盤的中存在的時間變長了,需要的朋友可以參考下2022-04-04
PHP 面向?qū)ο蟪绦蛟O計(oop)學習筆記 (五) - PHP 命名空間
PHP 在 5.3.0 以后的版本開始支持命名空間。什么是命名空間?從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。2014-06-06

