php計算漢字長度,php字體大小

本文目錄一覽:

請問 php中的怎麼計算漢字的長度

你好,php中一般 用 mb_strlen() 這個函數 計算字元的長度,即漢字的長度

php如何獲取中文字元長度,一個中文字元算一個

在PHP中專門的mb_substr和mb_strlen函數,可以對中文進行截取和計算長度,但是,由於這些函數並非PHP的核心函數,所以,它們常常有可能沒有開啟。要在php.ini中開啟即可。獲取長度實例:1 ,utf-8環境下使用

header(‘Content-type:text/html;charset=utf-8’);

/**

* 可以統計中文字元串長度的函數

* @param $str 要計算長度的字元串

* @param $type 計算長度類型,0(默認)表示一個中文算一個字元,1表示一個中文算兩個字元

*

*/

function abslength($str)

{

    if(empty($str)){

        return 0;

    }

    if(function_exists(‘mb_strlen’)){

        return mb_strlen($str,’utf-8′);

    }

    else {

        preg_match_all(“/./u”, $str, $ar);

        return count($ar[0]);

    }

}

$str = ‘我們都是中國人啊,ye!’;

$len = abslength($str);

var_dump($len);  //return 12

$len = abslength($str,’1′);

echo ‘br /’.$len;  //return 22

 

/*

    utf-8編碼下截取中文字元串,參數可以參照substr函數

    @param $str 要進行截取的字元串

    @param $start 要進行截取的開始位置,負數為反向截取

    @param $end 要進行截取的長度

*/

function utf8_substr($str,$start=0) {

    if(empty($str)){

        return false;

    }

    if (function_exists(‘mb_substr’)){

        if(func_num_args() = 3) {

            $end = func_get_arg(2);

            return mb_substr($str,$start,$end,’utf-8′);

        }

        else {

            mb_internal_encoding(“UTF-8”);

            return mb_substr($str,$start);

        }       

 

    }

    else {

        $null = “”;

        preg_match_all(“/./u”, $str, $ar);

        if(func_num_args() = 3) {

            $end = func_get_arg(2);

            return join($null, array_slice($ar[0],$start,$end));

        }

        else {

            return join($null, array_slice($ar[0],$start));

        }

    }

}

$str2  = ‘wo要截取zhongwen’;

echo ‘br /’;

echo utf8_substr($str2,0,-4); //return wo要截取zhon

2,支持gb2312,gbk,utf-8,big5 中文截取方法

/*

* 中文截取,支持gb2312,gbk,utf-8,big5

*

* @param string $str 要截取的字串

* @param int $start 截取起始位置

* @param int $length 截取長度

* @param string $charset utf-8|gb2312|gbk|big5 編碼

* @param $suffix 是否加尾綴

*/

public function csubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)

{

if(function_exists(“mb_substr”))

{

if(mb_strlen($str, $charset) = $length) return $str;

$slice = mb_substr($str, $start, $length, $charset);

}

else

{

$re[‘utf-8’]   = “/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/”;

$re[‘gb2312’] = “/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/”;

$re[‘gbk’]          = “/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/”;

$re[‘big5’]          = “/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/”;

preg_match_all($re[$charset], $str, $match);

if(count($match[0]) = $length) return $str;

$slice = join(“”,array_slice($match[0], $start, $length));

}

if($suffix) return $slice.”…”;

return $slice;

}

如何用php得到中文字的長度?

?php

/**

+———————————————————-

* 字元串截取,支持中文和其他編碼

+———————————————————-

* @static

* @access public

+———————————————————-

* @param string $str 需要轉換的字元串

* @param string $start 開始位置

* @param string $length 截取長度

* @param string $charset 編碼格式

* @param string $suffix 截斷顯示字元

+———————————————————-

* @return string

+———————————————————-

*/

function msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)

{

if(function_exists(“mb_substr”))

return mb_substr($str, $start, $length, $charset);

elseif(function_exists(‘iconv_substr’)) {

return iconv_substr($str,$start,$length,$charset);

}

$re[‘utf-8’] = “/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/”;

$re[‘gb2312’] = “/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/”;

$re[‘gbk’] = “/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/”;

$re[‘big5’] = “/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/”;

preg_match_all($re[$charset], $str, $match);

$slice = join(“”,array_slice($match[0], $start, $length));

if($suffix) return $slice.”…”;

return $slice;

}

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256845.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:42
下一篇 2024-12-15 12:42

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 進擊的漢字拆字窗

    進擊的漢字拆字窗是一款非常有用的中文工具,它可以幫助人們更好的學習漢字,了解漢字的含義,以及更好的了解漢字在中文中的運用和意義。 一、功能介紹 進擊的漢字拆字窗主要有以下幾個功能:…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 如何在Python中輸出漢字和數字

    本文將從多個方面詳細介紹如何在Python中輸出漢字和數字,並提供代碼示例。 一、輸出漢字 要在Python中輸出漢字,需要先確保Python默認編碼是utf-8,這可以通過在代碼…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python列表長度怎麼算

    本文將從以下多個方面闡述Python列表長度的計算方式,包括len()函數、循環遍歷、切片、列表推導式等。 一、使用len()函數計算列表長度 計算列表長度最常見的方法是使用Pyt…

    編程 2025-04-28
  • Python queue長度用法介紹

    本文將從多個方面詳細闡述Python queue長度問題,包括隊列長度的定義、如何獲取隊列長度、隊列滿時如何處理以及常見的隊列長度問題。同時,本文也會提供完整的Python代碼示例…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python中Turtle怎麼寫漢字

    Python中Turtle庫是一個在Python中用於繪製矢量圖形的庫。大多數場景下我們使用Turtle庫繪製的圖形是幾何圖形,但是在一些特殊的場景下,我們也可以使用Turtle庫…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27

發表回復

登錄後才能評論