xchange 发表于 2005 年 7 月 15 日 16:38:36

[转]PHP中截取汉字的两种方法

原来有人提出了一个方法:

$len = 19;

$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";

echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");

今天在 SaBlog 的程序里发现了另一种方法:

function csubstr ($text, $limit) {

$s = '';

for($i=0;$i<$limit-3;$i++) {

$s .= ord($text[$i])>127 ? $text[$i].$text[++$i] : $text[$i];

}

return $s;

}

该函数仅适用于 gb2312 编码,如果是UTF-8 的话需要把第4行改为

$s .= ord($text[$i])>127 ? $text[$i].$text[++$i].$text[++$i] : $text[$i];

令人惊讶的是 UTF-8 中的汉字竟然是 3 个字节。

姜运涛 发表于 2005 年 7 月 15 日 16:45:35

请写明出处:http://www.yinwei.org

xchange 发表于 2005 年 7 月 15 日 16:48:07

今天闲着无聊,骗帖数。
PS: 网址写错了哦。

姜运涛 发表于 2005 年 7 月 16 日 11:23:16

一着急就少打一字母
呵……

vbvs 发表于 2005 年 7 月 17 日 13:41:58

oh yeah
baby
PHP真TMD难学
坚持中

vbvs 发表于 2005 年 7 月 17 日 13:42:27

学PHP前是不是先学学C语言
这样更轻松一些?

姜运涛 发表于 2005 年 7 月 17 日 14:12:55

下面是引用vbvs于2005-07-17 13:42发表的:
学PHP前是不是先学学C语言
这样更轻松一些?
没有必要
但如果有C的基础学什么语言都会顺手些
多写代码……
页: [1]
查看完整版本: [转]PHP中截取汉字的两种方法