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/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

发表回复

登录后才能评论