史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 論壇程式討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2005-06-21, 02:35 PM   #1
貝斯特 帥哥
長老會員
 
貝斯特 的頭像
榮譽勳章
UID - 90669
在線等級: 級別:1 | 在線時長:11小時 | 升級還需:1小時
註冊日期: 2003-08-06
住址: The Gates of Hell
文章: 1758
現金: 15064 金幣
資產: 5185909 金幣
Cool 主題過長自動截短的修改

透過一個簡單的修改,讓論壇發表的主題過長時自動截短,
這個修改只是利用了substr的函數應用而已。

修改forumdisplay.php,搜尋:

PHP代碼:
// build thread data
$thread = process_thread_array($thread, $lastread, $foruminfo['allowicons']);


在下面插入以下程式碼:

PHP代碼:
//===========================================================================================
// Begin truncate option for forumdisplay.
//===========================================================================================
if (strlen($thread['threadtitle'])>10)
{
$thread['threadtitle'] = substr($thread['threadtitle'],0,10)."...";
}
//===========================================================================================


這樣便修改完成了,請注意這段程式碼:

PHP代碼:
$thread['threadtitle'] = substr($thread['threadtitle'],0,10)."...";


裡面的10是預設顯示的字數,超過則以...取代,當然你可以依照自己的喜好修改這個數值。
__________________

給自己看也給所有需要這些話鼓勵的人看!

認真不一定會得到美好的結果,但是不認真就一定沒有

想要有什麼結果,就秉持你的雙手
放手去做
總比什麼都沒付出最後失敗了才嘆氣來的好吧
沒努力的人.沒有資格說放棄
努力過的人.更要有勇氣繼續努力下去
貝斯特 目前離線  
送花文章: 1, 收花文章: 38 篇, 收花: 123 次
回覆時引用此帖
舊 2005-06-21, 02:37 PM   #2 (permalink)
長老會員
 
貝斯特 的頭像
榮譽勳章
UID - 90669
在線等級: 級別:1 | 在線時長:11小時 | 升級還需:1小時
註冊日期: 2003-08-06
住址: The Gates of Hell
文章: 1758
現金: 15064 金幣
資產: 5185909 金幣
Cool [vBulletin]若伺服器不支援MB函數,可以將以下程式碼套用到程式中

語法:
<?php 
////////////////////////////////////////////////////////////////////// 
//程式作者:Sky                                                             // 
//程式出處:http://940.cc、http://sktw.com                       // 
//作者信箱:tw34cc@yahoo.com.tw                                  // 
//此程式僅供研究修正用,若有任何錯誤,本人將不負任何責任。         // 
//程式功用:於網頁空間上,解決不支援 php_mbstring.dll的問題。   // 
///////////////////////////////////////////////////////////////////// 
//mb_strlen() 
//說明 string mb_strlen ( string str [, string encoding] ) 
function mb_strlen($text,$encode='big5'){ 
    if (ini_get("magic_quotes_gpc")){ 
        $text = StripSlashes($text); 
    } 
    switch($encode){ 
        case "big5": 
            $a=strlen($text); 
            for ($i=0; $i<$a; $i++){ 
                $ck=ord(substr($text,$i,1)); 
                if ($ck>127){ 
                    $i++; 
                    $len+=1; 
                } else { 
                    $len+=1; 
                } 
            } 
            break; 
        default: 
            $len=false; 
            break; 
    } 
    return $len; 
} 
//mb_substr() 
//說明 string mb_substr ( string str, int start [, int length [, string encoding]] ) 
// 
function mb_substr($text,$str,$length,$encode='big5'){ 
    if (ini_get("magic_quotes_gpc")){ 
        $text = StripSlashes($text); 
    } 
    switch($encode){ 
        case "big5": 
            $a=strlen($text); 
            if (empty($length)){ 
                $length=mb_strlen($text,$encode); 
            } 
            for ($i=0; $i<$a; $i++){ 
                $j=''; 
                $ck=ord(substr($text,$i,1)); 
                if ($ck>127){ 
                    $j=$i; 
                    $i++; 
                    if ($len>=$str && $cks<$length){ 
                        $word.=substr($text,$j,2); 
                        $cks+=1; 
                    } 
                    $len+=1; 
                } else { 
                    if ($len>=$str && $cks<$length){ 
                        $word.=substr($text,$i,1); 
                        $cks+=1; 
                    } 
                    $len+=1; 
                } 
            } 
            break; 
        default: 
            $len=false; 
            break; 
    } 
    return $word; 
} 
?>
在下面插入以下程式碼:


PHP代碼:
//===========================================================================================
// Begin truncate option for forumdisplay.
//===========================================================================================
if (mb_strlen($thread['threadtitle'],big5)>10)
{
$thread['threadtitle'] = mb_substr($thread['threadtitle'],0,10,big5)."...";
}
//===========================================================================================




這樣便修改完成了,請注意這段程式碼:


PHP代碼:
$thread['threadtitle'] = mb_substr($thread['threadtitle'],0,10,big5)."...";




裡面的10是預設顯示的字數,超過則以...取代,當然你可以依照自己的喜好修改這個
貝斯特 目前離線  
送花文章: 1, 收花文章: 38 篇, 收花: 123 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 03:03 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1