php mb_strlen()中英混体字符截取代码

注:如果在用mb_strlen出现fatal error: call to undefined function mb_strlen,这种问题你要可以用php教程info()看一下有没有装载mbstring,如果没有,尝试将php_mbstring.dll复制到%windows%目录下。

文件编码 utf-8

$var = '中文字符abc';
mb_strlen($var, 'utf-8'); // 输出7 中文英文都占一个字节
mb_strlen($var); // 输出15 中文占3个字节 英文占一个字节
mb_strlen($var, 'gbk'); // 输出9 不正常

取全部中文

function utf8substr($str, $from, $len)
{
return preg_replace('#^(?:[x00-x7f]|[xc0-xff][x80-xbf]+){0,'.$from.'}'.
'((?:[x00-x7f]|[xc0-xff][x80-xbf]+){0,'.$len.'}).*#s',
'$1',$str);
}

中文与英混体截取代码

function gb2312_strlen($string)
{
$str_len = strlen($string);
$str_count = 0;
for($j = 0; $j < $str_len; $j++)
{
   if(ord($string{$j}) < 127)
   {
    $str_count += 1;
    continue;
   }
   else
   {
    if(ord($string{$j+1}) > 127)
    {
     $str_count += 1;
     $j++;
     continue;
    }
    else
    {
     $str_count += 1;
     continue;
    }
   }
}
return $str_count;
}
$str = "开s d"; 
echo gb2312_strlen($str);

时间: 2024-10-28 11:44:28

php mb_strlen()中英混体字符截取代码的相关文章

js替换字符串中所有指定的字符(实现代码)_javascript技巧

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argumen

使用WPS快速整理中英混排的网页文字

朋友从网上下载了一篇技术文档,发现文档中每一行的行末都有一个段落符号,而真正要分段的段首则有4个半角空格,还有许多空段.想重新编排一下,由于文档比较长,手工操作肯定不行,我向他推荐用WPS文字的"智能格式整理"功能.在该文档处于打开状态时,用鼠标点开"工具"菜单下的"文字工具→智能格式整理",几秒钟后,所有的段首空格全部消失,段与段之间的空段也全部消除,但每一行行末的段落标记却依然存在. 自动处理不行,只能手工进行了.由于进行"智能格式

如何运用WPS快速整理中英混排的中英混排

首先,确定行首有4个半角空格的行是真正段落的"开始",而行首没有空格的行则是段中行,其前面的段落标记要去掉.按下"Shift+H",调出"查找和替换"工具,在"查找"中输入"^p "(即^p后面跟着4个半角空格),在"替换为"中输入一个文中不会出现的特殊字符(如"¥¥¥¥"),点"全部替换".这样,就把真正要分段的地方用特殊字符"¥¥¥¥

几种字符截取代码

function cnSubStr($string,$sublen)  {  if($sublen>=strlen($string))  {  return $string;  } $s="";  for($i=0;$i<$sublen;$i++)  {  if(ord($string{$i})>127)  { $s.=$string{$i}.$string{++$i};  continue;  }else{ $s.=$string{$i};  continue; 

复数乘法中的结构体赋值实现代码_C 语言

废话不多说,直接上代码 复制代码 代码如下: #include <iostream>using namespace std; typedef struct{ double real; double imag;} complex; //复数乘法complex X_complex(complex a, complex b){ complex temp;  temp.real = a.real * b.real - a.imag * b.imag; temp.imag = b.imag * a.re

asp 中西文混合式字符截取程序

中西文混合式字符截取程序 function CutStr(byVal val,byVal length,byVal endStr)   Dim l,t,c,i   If val = "" Or IsNull(val) Then    CutStr = ""    Exit Function   End If   If length = "" Or Int(length) <= 0 Or IsNumeric(length) = False T

ruby 有没有类似java中的substring方法,截取字符?

问题描述 ruby 有没有类似java中的substring方法,截取字符?我用truncate方法,他会提示我找不到truncate方法,ruby有没有其他的截取字符的方法. 解决方案 直接用分片:a="abcdefg",a[1,3]="bcd"

thinkphp中字符截取函数msubstr()用法分析_php实例

本文实例讲述了thinkphp中字符截取函数msubstr()用法.分享给大家供大家参考,具体如下: ThinkPHP有一个内置字符截取函数msubstr()如下: msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) $str:要截取的字符串 $start=0:开始位置,默认从0开始 $length:截取长度 $charset="utf-8":字符编码,默认UTF-8 $suffix=tr

字符串截取函数(支持中英文混体)

字符串截取函数(支持中英文混体) 以前我们截取字符串都会用php教程自带的函数,今天我来看一下一款字符串截取函数(支持中英文混体)的php代码实例吧. */ function cutstr($string, $sublen=10, $start = 0, $code = 'utf-8') {  if($code == 'utf-8')  {  $pa = "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf]