PHP初记|中英混合字符串截取
PHP小记|中英混合字符串截取
常常在WEB页面显示记录列表的时候需要对过长内容进行截取。
采用PHP内置的substr函数对中英混合字符串,特别是字符编码在UTF-8的情况下,支持非常不好,会出现乱码。
所以自己写了一个函数:
?
function truncate($string, $len, $wordsafe = FALSE) { $slen = strlen($string); if ($slen <= $len) { return $string; } if ($wordsafe) { while (($string[-- $len] != ' ') && ($len > 0)) { }; } if ((ord($string[$len]) < 0x80) || (ord($string[$len]) >= 0xC0)) { return substr($string, 0, $len) . "..."; } while (ord($string[-- $len]) < 0xC0) { }; return substr($string, 0, $len) . "..."; }
?
经测试成功。YEAH!
?
=======================================================================
2012-06-15更新:
?
今天再次写了一个,好处是会把两个英文字符当作一个汉字字符的长度:
所以传递的需要截取多少个汉字的长度
?
?
function truncate($string, $len, $cnCharWidth = 2) { $len = $len * $cnCharWidth; $suffix = "..."; $newStr = ""; for ($i = 0, $j = 0; $i < $len; $i++, $j++) { if (!isset($string[$j])) { $suffix = ""; break; } $start = $j; while ($j < ($start +3) && !(ord($string[$j]) < 0x80)) { $j++; } if ($start == $j) { $charLen = 1; } else { $i = $i + 1; $j--; $charLen = 3; } $newStr .= substr($string, $start, $charLen); } return $newStr . $suffix; }

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

使用Java的String.valueOf()函数将基本数据类型转换为字符串在Java开发中,当我们需要将基本数据类型转换为字符串时,一种常见的方法是使用String类的valueOf()函数。这个函数可以接受基本数据类型的参数,并返回对应的字符串表示。在本文中,我们将探讨如何使用String.valueOf()函数进行基本数据类型转换,并提供一些代码示例来

char数组转string的方法:可以通过赋值来实现,使用{char a[]=" abc d\0efg ";string s=a;}语法,让char数组对string直接赋值,执行代码即可完成转换。

C语言return的用法有:1、对于返回值类型为void的函数,可以使用return语句来提前结束函数的执行;2、对于返回值类型不为void的函数,return语句的作用是将函数的执行结果返回给调用者;3、提前结束函数的执行,在函数内部,我们可以使用return语句来提前结束函数的执行,即使函数并没有返回值。

docker start起不来的解决办法:1、检查运行状态,然后通过“echo 3 > /proc/sys/vm/drop_caches”命令释放被占用的内存;2、通过“$netstat -nltp|grep ...”命令检查端口是否已经被占用,如果上线后发现占有,则改为可用端口再重启即可。

使用Java的String.replace()函数替换字符串中的字符(串)在Java中,字符串是不可变的对象,这意味着一旦创建了一个字符串对象,就无法修改它的值。但是,你可能会遇到需要替换字符串中的某些字符或者字符串的情况。这时候,我们可以使用Java的String类中的replace()方法来实现字符串的替换。String类的replace()方法有两种重

源码:publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#输出上述代码的输出可以简单地得出结论:return在finally之前执行,我们来看下字节码层面上发生了什么事情。下面截取case1方法的部分字节码,并且对照源码,将每个指令的含义注释在

大家好,今天给大家分享java基础知识之String。String类的重要性就不必说了,可以说是我们后端开发用的最多的类,所以,很有必要好好来聊聊它。

使用Java的String.length()函数获取字符串的长度在Java编程中,字符串是一种非常常见的数据类型,我们经常需要获取字符串的长度,即字符串中字符的个数。在Java中,我们可以使用String类的length()函数来获取字符串的长度。下面是一个简单的示例代码:publicclassStringLengthExample{publ
