PHP smarty的ubb外掛程式實現彩字

來源:互聯網
上載者:User



一.彩字的簡單實現

上面的程式只是表述了一些彩字的基本原理,要實現更複雜和美觀的彩字,所要做的只是更換一下字型,改一下字型顏色,添加一些背景圖,再考慮一下緩衝等,方法也差不多,朋友們可以自己試試.

二.彩字應用

上面的程式產生的彩字是通過"?t=文字"來傳遞的,但需注意的是,這些文字最好用urlencode來編碼,當然,長度也應該有限制,這不是本文討論的範圍.
另外,產生彩字的程式和傳遞文字的程式都使用utf-8編碼,如果不是,手工轉一下..
要使用彩字,只需要用<img src="color.PHP?t=xxx" />即可,其中,color.php為產生彩字的程式(即上面的程式),xxx為經urlencode編碼的文字(用來產生彩字)

三.smarty外掛程式

在smarty的plugins目錄下建立一檔案分析天平modifier.ubb.php,

以下為引用的內容:
function smarty_modifier_ubb($string){
    $ubb = array(
        ''/[b](.+?)[/b]/i'', #加粗
        ''/[url=(.+?)](.+?)[/url]/i'', #url
        ''/[colorfont](.+?)[/colorfont]/ie'' #彩字,注意,要加e修飾符
    );
    $tohtml = array(
        ''<b>\1</b>'',
        ''<a href="\1">\2</a>'',
        ''"<img src=''color.php?t=".urlencode("\1")."''/>"''
    );
    //以上只是演ubb的實現,更多的ubb標籤朋友們可以按方法自己實現,其中的color.php根椐實際去修改
    return preg_replace($ubb,$tohtml,$string);

這樣,要顯示彩字,只需在內容中加入
[colorfont]文字[/colorfont]
顯示時,在smarty模板中使用ubb修飾符即可,如{$content|ubb}

<

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.