加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > PHP > 正文

如何在PHP中截断UTF8字符串?

发布时间:2020-07-24 00:32:51 所属栏目:PHP 来源:互联网
导读:我的 PHP代码中有一些字符串,如果它们太长,需要被截断. 例如,如果文本是这样的: Hi, I would like to tell you how wonderful this is. 它将用以下代替: Hi, I would like to … 为此,我做了一个简单的substr.问题是在UTF8中有些字符实际上是两个字符长.而

我的 PHP代码中有一些字符串,如果它们太长,需要被截断.

例如,如果文本是这样的:

Hi,I would like to tell you how wonderful this is.

它将用以下代替:

Hi,I would like to …

为此,我做了一个简单的substr.问题是在UTF8中有些字符实际上是两个字符长.而且我在中间剪切一个字符时遇到了一些问题:例如,当我尝试在数据库中插入修改后的字符串时,它会崩溃.

这是我目前的功能:

static function short($string,$max = 255){
   if(strlen($string) >= $max){
       $string = substr($string,$max - 5).'...';
   } return $string;
}

有人知道一个方法使这个功能甚至UTF8字符?

你需要的一切都是mb_strimwidth(): http://php.net/manual/en/function.mb-strimwidth.php

例:

mb_strimwidth('Hi,I would like to tell you how wonderful this is.',15,'...','utf-8');

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读