LifeType 中文開發論壇

開發 => 核心補強 => 主題作者是: yufeng 於 一月 03, 2006, 10:33:44 下午



主題: utf-8下的字符串截取问题?能否自行添加截取函数?
作者: yufeng一月 03, 2006, 10:33:44 下午
在post.template中的字符串截取是这样写的
程式碼:
{$post->getTopic()|strip_tags|truncate:200:"..."}


但是这样截取的话对utf8的简体中文会出现乱码的情况, 为了在summary中比较整齐地显示最新开通的博客,最新发表的文章等内容, 对utf8编码的中文的截取是比较重要的

我有一个现成的截取函数,可以很好地截取utf8编码的简体中文(繁体中文没有试验过), 不知道怎样把这个函数整合到系统中去, 使得可以在模板文件中调用,请指点, 谢谢 :-P


主題: Re: utf-8下的字符串截取问题?能否自行添加截取函数?
作者: yufeng一月 07, 2006, 09:57:52 下午
参考了一些文章, 发现这个是smarty的问题, 对utf-8编码的中文截取不支持, 找了一个可以截取utf8中文的函数,替换掉了class/template/smarty/plugins/modifier.truncate.php 文件里面的truncate函数, 就可以了 :-D

还有个问题, 就是用来替换的这个函数比较简单, 不能对英文根据单词截取.. :-$..希望有高手能完善一下...


主題: Re: utf-8下的字符串截取问题?能否自行添加截取函数?
作者: darkhero一月 14, 2006, 10:25:42 上午
参考了一些文章, 发现这个是smarty的问题, 对utf-8编码的中文截取不支持, 找了一个可以截取utf8中文的函数,替换掉了class/template/smarty/plugins/modifier.truncate.php 文件里面的truncate函数, 就可以了 :-D

还有个问题, 就是用来替换的这个函数比较简单, 不能对英文根据单词截取.. :-$..希望有高手能完善一下...

試試看找一下 mb_string 的相關資料...
利用 mb_substr 去修改的話應該可以順利達成!∼

但是也有其他問題,比較擔心的是主機不支援 mb_string 函式~


主題: Re: utf-8下的字符串截取问题?能否自行添加截取函数?
作者: markwu一月 15, 2006, 04:52:59 下午
其實這是有辦法可以解的!只是關係到 LifeType 目前的用戶!

我們內部一直在討論是否應該只讓 LifeType 只支援 utf-8,如果可以,很多問題我們都可以修改。

例如 iconv, mbstring ...我們都可以用 docuwiki 所釋出的 utf8 處理函示來替代。

效果很好!目前 Joomla 1.1 就是用他來處理 utf-8 的字串問題。

只是如果這個決議一日不定,那麼就一日沒辦法作這些 patch,並非不能作,而是要考慮其他 encoding 的 user....

如果有興趣,可以研究一下 docuwiki 與 joomla 1.1 再處理 utf-8 的函示。

Mark