歡迎光臨, 訪客. 請先 登入註冊一個帳號.
五月 02, 2024, 05:24:47 下午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  開發  |  核心補強  |  utf-8下的字符串截取问题?能否自行添加截取函数? « 上篇主題 下篇主題 »
頁: [1]
作者 主題: utf-8下的字符串截取问题?能否自行添加截取函数?  (閱讀 9996 次)
yufeng
新手見習
*
文章: 39


檢視個人資料
« 於: 一月 03, 2006, 10:33:44 下午 »

在post.template中的字符串截取是这样写的
程式碼:
{$post->getTopic()|strip_tags|truncate:200:"..."}


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

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

服务器环境:
LINUX RH ES3/PHP 4.4.0/MySQL 4.1.11/Apache 2.0.54
======================
调试环境:
Win2003/PHP 4.4.1/MySQL 4.1.11/Apache 2.0.54
yufeng
新手見習
*
文章: 39


檢視個人資料
« 回覆文章 #1 於: 一月 07, 2006, 09:57:52 下午 »

参考了一些文章, 发现这个是smarty的问题, 对utf-8编码的中文截取不支持, 找了一个可以截取utf8中文的函数,替换掉了class/template/smarty/plugins/modifier.truncate.php 文件里面的truncate函数, 就可以了 開懷大笑

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

服务器环境:
LINUX RH ES3/PHP 4.4.0/MySQL 4.1.11/Apache 2.0.54
======================
调试环境:
Win2003/PHP 4.4.1/MySQL 4.1.11/Apache 2.0.54
darkhero
初級會員
**
文章: 58


檢視個人資料 個人網站
« 回覆文章 #2 於: 一月 14, 2006, 10:25:42 上午 »

参考了一些文章, 发现这个是smarty的问题, 对utf-8编码的中文截取不支持, 找了一个可以截取utf8中文的函数,替换掉了class/template/smarty/plugins/modifier.truncate.php 文件里面的truncate函数, 就可以了 開懷大笑

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

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

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

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #3 於: 一月 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
已記錄

頁: [1]
LifeType 中文開發論壇  |  開發  |  核心補強  |  utf-8下的字符串截取问题?能否自行添加截取函数? « 上篇主題 下篇主題 »
    前往: