`
icarusli
  • 浏览: 531142 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP 截取中文(UTF8版)

 
阅读更多

function SubTitle($String,$Length) {
 if (mb_strwidth($String, 'UTF8') <= $Length ){
  return $String;
 }else{
  $I = 0;
  $len_word = 0;
  while ($len_word < $Length){
   $StringTMP = substr($String,$I,1);
   if ( ord($StringTMP) >=224 ){
    $StringTMP = substr($String,$I,3);
    $I = $I + 3;
    $len_word = $len_word + 2;
   }elseif( ord($StringTMP) >=192 ){
    $StringTMP = substr($String,$I,2);
    $I = $I + 2;
    $len_word = $len_word + 2;
   }else{
    $I = $I + 1;
    $len_word = $len_word + 1;
   }
   $StringLast[] = $StringTMP;
  }
  /* raywang edit it for dirk for (es/index.php)*/
  if (is_array($StringLast) && !empty($StringLast)){
   $StringLast = implode("",$StringLast);
   $StringLast .= "...";
  }
  return $StringLast;
 }
}

分享到:
评论

相关推荐

    PHP UTF-8 等宽度截取中英文字符.txt

    示例代码中定义了`u8_title_substr`函数,通过循环遍历字符串中的每个字符,根据字符的编码类型(1、2、3或4字节)累加相应的权重值,最终实现了等宽度截取UTF-8编码的中英文字符的功能。 #### 五、注意事项 - 在...

    以utf8格式截取的字符串编码

    在PHP中,可以使用`mb_strcut`函数来安全地截取UTF-8字符串。`mb_strcut`是多字节字符串函数,它允许我们指定字符串的起始位置和长度,以正确地处理非ASCII字符。例如: ```php $text = "你好,世界!这是一个UTF-8...

    PHP 不区分中英文截取utf8字符串

    这篇博客“PHP 不区分中英文截取utf8字符串”提供了一个解决方案,使得在UTF-8环境下可以正确地截取包含中文和英文的字符串,而不影响其完整性。 首先,我们需要理解UTF-8编码的特点。UTF-8是一种变长编码,英文...

    php截取汉字类

    ### PHP截取汉字类知识点详解 #### 一、概述 在Web开发中,尤其是中文网站的开发过程中,经常需要对中文字符串进行截取处理。PHP作为一种常用的服务器端脚本语言,提供了多种方法来处理字符串,包括对中文字符的...

    php自定义截取中文字符串-utf8版

    本篇主要介绍如何自定义截取UTF-8编码下的中文字符串。 在UTF-8编码中,一个中文字符通常由3个字节组成,而英文字符、数字或一些特殊符号只占1个字节。因此,常规的字符串截取函数(如`substr()`)在处理中文字符串...

    字符串截取,支持中文、UTF8和其他编码

    字符串截取,支持中文、UTF8和其他编码。

    php 截取utf-8格式的字符串实例代码

    实际应用这个函数时,只需将需要截取的字符串和截取长度作为参数传递给`truncate_utf8_string`函数,即可完成UTF-8格式字符串的正确截取。例如: ```php $str = "这是一个UTF-8编码的字符串示例。"; echo truncate_...

    PHP中如何截取中文字符串

    中文字符串通常包含UTF-8编码的字符,这与ASCII编码的英文字符串处理方式有所不同。以下将详细讲解如何在PHP中正确截取中文字符串。 首先,我们需要了解UTF-8编码的特点。UTF-8是一种变长的字符编码,英文字符由一...

    真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )

    标准的PHP `substr` 函数在截取UTF-8编码字符串时可能会导致不正确的多字节字符被截断,而 `utf8_substr` 函数则通过以下步骤确保截取过程不会破坏字符的完整性: 1. 正常使用 `substr` 函数进行基本的字符串截取。...

    php 截取字符串

    `substr()` 是PHP中用于截取字符串的基本函数,而`mb_substr()` 则是多字节安全的版本,适用于处理包含多种字符集(如UTF-8)的字符串。 1. **substr() 函数** `substr(string $str, int $start, ?int $length = ...

    解决php截取中文出现乱码

    这主要是因为PHP中的`substr()`函数默认是按字节来截取字符串的,而UTF-8编码下的中文字符通常由多个字节组成(通常是3个字节),如果直接使用默认方式截取,就会导致中文乱码问题。 ### 解决方案 为了解决这个...

    解析使用substr截取UTF-8中文字符串出现乱码的问题

    为了正确地截取UTF-8编码的字符串,我们需要采用一个考虑到字符实际占用字节长度的截取方法。文章中提供了一个名为`cutstr()`的自定义函数,用来在保证不出现乱码的情况下截取UTF-8字符串。这个函数通过计算每个字符...

    php截取utf-8中文字符串乱码的解决方法

    在处理PHP中的字符串时,尤其是涉及到UTF-8编码的中文字符串时,常常会遇到字符串被错误地截取,从而产生乱码的问题。这通常是因为UTF-8编码中,一个中文字符可能由多个字节组成,简单的按字节截取可能会将一个中文...

    UTF8 相关的PHP源代码

    - `mb_substr()`:截取UTF8字符串的部分内容。 - `mb_convert_case()`:转换UTF8字符串的大小写。 - `mb_encode_numericentity()` 和 `mb_decode_numericentity()`:用于将UTF8字符转换为数字实体和反向操作。 ...

    php_web项目中utf-8的问题.do

    然而,由于UTF-8编码下的中文字符占用三个字节,若截取不完整则会导致乱码或“?”的显示。为了解决这个问题,可以编写如下函数对标题进行安全截取: ```php function get_brief_str($str, $max_length) { if ...

    php字符串截取.pdf

    #### 四、UTF-8 和 GB2312都支持的汉字截取函数 **3.1 统一支持的字符串截取函数** ```php function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if ($code == 'UTF-8') { // 正则表达式用于匹配...

Global site tag (gtag.js) - Google Analytics