首页 > 后端开发 > 正文

php如何获取中文字符长度,一个中文字符算一个

2024-09-12 23:19:27 | 我爱编程网

今天我爱编程网小编为大家带来了php如何获取中文字符长度,一个中文字符算一个,希望能帮助到大家,一起来看看吧!

本文目录一览:

php如何获取中文字符长度,一个中文字符算一个

php字符串处理函数(php字符串函数)

php如何执行字符串中的函数

mixedcall_user_func

??(callable$callback

?[,mixed$parameter

?[,mixed$...

?]])

把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。

error_reporting(E_ALL);

function?increment($var)

{

????$var++;

}

$a?=?0;

call_user_func('increment',?$a);

echo?$a."\n";

call_user_func_array('increment',?array($a));?//?You?can?use?this?instead?before?PHP?5.3

echo?$a."\n";

后面可以跟多个参数!

php哪个函数能取得字符串长度

PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:

PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。

php中有没有将数组的值转换为字符串的函数

以下是对php中的数组与字符串的转换函数进行了详细的整理汇总,需要的朋友可以参考下

1.将一个字符串转化为数组

str_split()用于将一个字符串转化为数组

语法:

复制代码

代码如下:

str_split(string,length)

SPAN

SPANSPAN

style="FONT-FAMILY:

宋体"///SPAN/SPAN/SPANstring是必须的消此,是要分割的字符串;SPAN

SPANstyle="FONT-FAMILY:宋体;COLOR:

#333333"SPANstyle="LINE-HEIGHT:

28px"

//length是可选的,规定每个数组元素的长度

/SPAN/SPAN/SPAN

tips:

如果length小于1,str_split()函数将返回

false。

如果length大于字符串的长度,整个字符串将作为数组的唯一元素返回。

例子:

复制代码

代码如下:

?php

$str="";

print_r(str_split($str));

?

2.字符串分割函数

explode()

函数把字符串分割为数组。

语法:

explode(separator,string,limit)

//separator是必须的,规定了分割分割字符串的依据,例如:“

”(空格)“|”

“,”等

//string是必须的,是所要操作的字符串

//limit是可选的,规定所返回的数组元素的最大数目。

例子:

复制代码

代码如下:

?php

$types="doc|docx|ppt|pptx|xls|xlsx|zip|rar";

print_r(explode("|",$types));

?

3.将一个数组转化为字符串

使用兆厅implode()

函数把数组元素组合为一个字符串

语法:

复制代码

代码如下:

PREimplode(separator,array)/PRE//seperator是可选的,规定数组元素之间放族桥隐置的内容,默认是“”(空字符串)BR

//array是必须的,是要结合成字符串的数组BR

PRE/PRE

tips:虽然

EMseparator/EM参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。implode()

可以接收两种参数顺序。但是由于历史原因,explode()是不行的。你必须保证

EMseparator/EM参数在

EMstring/EM参数之前才行。例子:PREclass=php

name="code"?php

$arr=

array('Hello','World!','Beautiful','Day!');

echoimplode("

",$arr);

?/PREBR

PRE/PRE

4.在字符串种中查找另外一个字符

使用strpos()或strstr()函数

strpos()

函数返回字符串在另一个字符串中第一次出现的位置。

如果没有找到该字符串,则返回false。

语法:

复制代码

代码如下:

strpos(string,find,start)

//string为必须,表示被搜索的字符串

//find为必须,表示被查找的字符串

//start可选。规定开始搜索的位置。

tip:

该函数对大小写敏感

例子: 我爱编程网

复制代码

代码如下:

?php

$str="HellO

neo";

$find1="O";

$find2="o";

echostrpos($str,$find1);

echo

"br/";

echo

strpos($str,$find2);

?

输出结果:

复制代码

代码如下:

4

8

5.截取字符串中的部分字符

substr()

函数返回字符串的一部分

语法:

复制代码

代码如下:

substr(string,start,length)

//string为必需,规定要返回其中一部分的字符串。

/*必需。规定在字符串的何处开始。

正数-在字符串的指定位置开始

负数-在从字符串结尾的指定位置开始

0-

在字符串中的第一个字符处开始

*/

/*可选。规定要返回的字符串长度。默认是直到字符串的结尾。

正数-从start

参数所在的位置返回

负数-从字符串末端返回

*/

tips:

如果start是负数且length小于等于

start,则length为0。

例子;

复制代码

代码如下:

?php

$str="Helloworld!";

echo

substr($str,0);

echo"br/";

echo

substr($str,6,5);

?

6.获取字符串长度

strlen()

函数用于计算字符串的长度。

例子:

复制代码

代码如下:

?php

$str="Helloworld!";

echo

strlen($str);

?

//输出结果为12

7.将字符串转化为大写

strtoupper()

函数把字符串转换为大写。

例子:

复制代码

代码如下:

?php

$str="Helloworld!";

echo

strtoupper($str);

?

//输出结果为:HELLOWORLD!

8.将字符串转化为小写

strtolower()

函数把字符串转换为小写。

例子:

复制代码

代码如下:

?php

$str="HelloWorld!";

echo

strtolower($str);

?

php语言中字符串分割用什么函数?

“php分割字符串的函数有explode()和str_split()explode()”【摘要】

php语言中字符串分割用什么函数?【提问】

“php分割字符串的函数有explode()和str_split()explode()”【回答】

explode()函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。【回答】

PHP的strlen函数

返回字符串的长度。

计算字符串长度可以用于条件判断,例如限制某个变量值的长度。

strlen函数属于string字符串函数。

计算成功返回字符串长度,如果字符串为空返回0。

运行结果:

在PHP5.3.0之前,该函数把数组当做字符串Array,这样就返回一个长度为5的字符串,并产生一个E_NOTICE级别的错误。

在count函数的“应用经验”里提到的对$_GET做限制的应用,在编写SteelEC的miniblog功能时也用到strlen函数做限制“锚”字符串长度。

w3school:PHPstrlen()函数

count:返回数组中的元素数量。

php去除字符串两端的任意特殊字符的函数

去除字符串两端空格:trim($str);

去除字符串两端逗号:trim($str,',');

去除左边字符:ltrim();

去除右边字符:rtrim();

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

扩展资料:

php的优点:

(一)流行,容易上手

PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

(二)开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

(三)仍然在不断发展

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

(四)可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

(五)拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。

参考资料来源:

百度百科-PHP

百度百科-PHP框架

php如何获取中文字符长度,一个中文字符算一个

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中文编码~~

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP中文编码~~的相关内容。

一、页面编码

1. 使用 <META http-equiv="content-type" content="text/html; charset=xxx"> 标签设置页面编码

这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,xxx可以为GB2312,GBK,UTF-8(和MySQL不同,MySQL是 UTF8)等等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会发现有了这句还是不行,不管xxx是哪一种,浏览器采用的始终都是一种编码,这个情况我后面会谈到。

请注意,<meta>是属于html信息的,仅仅是一个声明,它起作用表明服务器已经把HTML信息传到了浏览器。

2. header("content-type:text/html; charset=xxx");

这个函数header()的作用是把括号里面的信息发到http标头。

如果括号里面的内容为文中所说那样,那作用和<META>标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段函数,浏览器就会永远采用你所要求的xxx编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说HTTPS标头和HTML信息的差别了:

https标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串。

因为meta标签是属于html信息的,所以header()发送的内容先到达浏览器,通俗点就是header()的优先级高于meta(不知道可不可以这样讲)。加入一个php页面既有header("content-type:text/html; charset=xxx"),又有<META http-equiv="content-type" content="text/html; charset=xxx">,浏览器就只认前者http标头而不认meta了。当然这个函数只能在php页面内使用。

同样也留有一个问题,为什么前者就绝对起作用,而后者有时候就不行呢?这就是接下来要谈的Apache的原因了。

3. AddDefaultCharset

Apache 根目录的 conf 文件夹里,有整个Apache的配置文档httpd.conf。

用文本编辑器打开httpd.conf,第708行(不同版本可能不同)有AddDefaultCharset xxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件https标头里的字符集为你默认的xxx字符集。有这行,就相当于给每个文件都加了一行header("content-type:text/html; charset=xxx")。这下就明白为什么明明meta设置了是utf-8,可浏览器始终采用gb2312的原因。

如果网页里有header("content-type:text/html; charset=xxx"),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把AddDefaultCharset xxx前面加个“#”,注释掉这句,而且页面里不含header("content-type…"),那这个时候就轮到meta标签起作用了。

4. default_charset

在 php.ini 文件中可以定义 php 的默认语言: default_charset = "xxx",xxx为编码名称。这行代码的意思是设置所有 php 的输出页面编码为 xxx。

总结:

以上 4 种编码设置方法的优先级如下:

header("content-type:text/html; charset=xxx")
default_charset xxx
AddDefaultCharset xxx
<META http-equiv="content-type" content="text/html; charset=xxx">
如果你是web程序员,给你的每个页面都加个header("content-type:text/html; charset=xxx"),保证它在任何服务器都能正确显示,可移植性强。

至于那句AddDefaultCharset xxx,要不要注释就仁者见仁了。反正我是注释掉了,不过我写页子也要写header(),便于放到服务器上能正常显示。

二、数据库编码

PHP 程序在查询数据库之前,首先执行 mysql_query(“SET NAMES xxxx”);其中 xxxx 是你网页的编码(charset=xxxx),如果网页中 charset=utf8,则 xxxx=utf8,如果网页中 charset=gb2312,则xxxx=gb2312,几乎所有WEB程序,都有一段连接数据库的公共代码,放在一个文件里,在这文件里,加入mysql_query(“set names”)就可以了。

SET NAMES 显示客户端发送的 SQL 语句中使用什么字符集。因此,SET NAMES 'utf-8'语句告诉服务器“将来从这个客户端传来的信息采用字符集utf-8”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集。)

三、中文文件名

默认情况下,文件名为中文时不能访问。要使中文文件名能正常访问,需进行如下设置:

在ie中选择 工具 -> internet选项 -> 高级 -> 取消“总是以UTF-8发送URL”。

以上就是我爱编程网整理的php如何获取中文字符长度,一个中文字符算一个相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php如何获取中文字符长度,一个中文字符算一个”相关推荐
php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是  abc人。。。
php截取字符串能做到,中文算一个字,英文单词也算一个字的函数吗。。。如 abc人人截取4个是 abc人。。。

php截取字符串以及去掉html标记第一个很简单,就用你提供这个函数就可以。不过第二个没有函数能执行。因为如果是英文字符应该占用1位,但中文不一样,utf8的一个汉字占用3个字符,这样如果出现中英文一起的情况就会出现乱码。必须自定义函数解决,下面给你一个简单的&lt;?phpfunctionchinesesubstr($str,$start,$len){//$str是指字符串,$

2024-07-27 08:46:07
PHP怎么获取字符串长度?
PHP怎么获取字符串长度?

PHP怎么获取字符串长度?PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:(1)PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节;(2)中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的

2025-02-14 06:14:19
字符串长度怎么算
字符串长度怎么算

字符串长度怎么算长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身。C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符。strlen计算的是字符串的长度,单位是“字符”,只能对字符串运算,而且它是函数(不是运算符),计算时,不包含末尾的"\0";当对字符数组操作时,返回的是数组总存放的字符串的实际长度(也就是\

2024-08-06 02:32:20
php如何计算一段文字中的空格个数
php如何计算一段文字中的空格个数

php如何计算一段文字中的空格个数使用substr_count();Example:echosubstr_count("thisisatest","");//out3如果不喜欢这个函数也可以用字符串截取的方式利用FOR循环自己做一个判断.累加即可!在php中空格怎么写1、可通过trim去除字符串首尾两端的空格,下面字符串"mynameishaha"中首尾两端各有一个

2025-01-30 05:04:54
如何用Python比较两个字符串的长度?
如何用Python比较两个字符串的长度?

如何用Python比较两个字符串的长度?题主你好,先说下解题重点:首先要知道被比较的两个字符串长度不一定是相等的,所以要先计算出str1和str2的长度,然后取较短的那个作为循环的次数,如果取较长的那个作为循环产数的话,在超出较短的那个字符串的索引后会出现Outofrange异常,从而使程序不能正确执行.其它的就没有太多需要注意的了.代码如下:-----测试结果如下

2023-12-23 15:11:57
PHP字符串长度计算 - strlen()函数使用介绍(php截取字符串几个实用的函数)
PHP字符串长度计算 - strlen()函数使用介绍(php截取字符串几个实用的函数)

PHP字符串长度计算-strlen()函数使用介绍strlen()函数和mb_strlen()函数在PHP中,函数strlen()返回字符串的长度。函数原型如下:复制代码代码如下:intstrlen(stringstring_input);参数string_input为要处理的字符串。strlen()函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均

2025-01-23 20:14:53
php截取字符串以及去掉html标记 在一个html文件中怎样使用php截取字符串
php截取字符串以及去掉html标记 在一个html文件中怎样使用php截取字符串

PHP截取某个字符串前面的数字编写一个PHP函数,专门用于提取字符串中某个字符前的所有数字。函数定义如下:functiongetNumbersBeforeChar($string,$char){$pattern='/(d+)(?='.preg_quote($char).')/';preg_match($pattern,$string,$matches);returni

2025-01-11 12:23:14
php如何随机生成一段随机长度的文字?
php如何随机生成一段随机长度的文字?

在php中,怎样把数字转化为字符串1、首先新建一个PHP文档,并定义一个数组,示例:$arr=array("I","have","an","apple");2、使用implode()函数,将数组转为字符串,示例:$str=implode($arr);3、将数组转换之后的字符串打印出来,示例:echo$str;4、保存以上内容,在浏览器查看预览,5、implode()

2024-07-31 16:39:47