CodeIgniter 表情輔助函數(shù)

2018-07-21 15:44 更新

表情輔助函數(shù)

表情輔助函數(shù)文件包含了一些讓你管理表情的函數(shù)。

重要

表情輔助函數(shù)已經(jīng)廢棄,不建議使用。現(xiàn)在只是為了向前兼容而保留。

加載輔助函數(shù)

該輔助函數(shù)通過下面的代碼加載:

$this->load->helper('smiley');

概述

表情輔助函數(shù)用于將純文本的表情轉(zhuǎn)換為圖片,譬如::-) 轉(zhuǎn)換為 smile!

另外它還可以顯示一組表情圖片,當(dāng)你點(diǎn)擊其中的某個(gè)表情時(shí)將會(huì)被插入到一個(gè)表單域中。 例如,如果你有一個(gè)博客并允許用戶提交評(píng)論,你可以將這組表情圖片顯示在評(píng)論的旁邊, 這樣用戶就可以點(diǎn)擊想要的表情,然后通過一點(diǎn)點(diǎn)的 Javascript 代碼,將該表情插入到 用戶的評(píng)論中去。

可點(diǎn)擊的表情包教程

這里是一個(gè)如何在表單中使用可點(diǎn)擊的表情包的示例,這個(gè)示例需要你首先下載并安裝表情圖片, 然后按下面的步驟創(chuàng)建一個(gè)控制器和視圖。

重要

開始之前,請(qǐng)先 下載表情圖片 然后將其放置到服務(wù)器的一個(gè)公共目錄,并打開 application/config/smileys.php 文件設(shè)置表情替換的規(guī)則。

控制器

在 application/controllers/ 目錄下,創(chuàng)建一個(gè)文件 Smileys.php 然后輸入下面的代碼。

重要

修改下面的 get_clickable_smileys() 函數(shù)的 URL 參數(shù),讓其指向你的表情目錄。

你會(huì)發(fā)現(xiàn)我們除了使用到了表情庫,還使用到了 表格類:

<?php

class Smileys extends CI_Controller {

    public function index()
    {
        $this->load->helper('smiley');
        $this->load->library('table');

        $image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comments');
        $col_array = $this->table->make_columns($image_array, 8);

        $data['smiley_table'] = $this->table->generate($col_array);
        $this->load->view('smiley_view', $data);
    }

}

然后,在 application/views/ 目錄下新建一個(gè)文件 smiley_view.php 并輸入以下代碼:

<html>
    <head>
        <title>Smileys</title>
        <?php echo smiley_js(); ?>
    </head>
    <body>
        <form name="blog">
            <textarea name="comments" id="comments" cols="40" rows="4"></textarea>
        </form>
        <p>Click to insert a smiley!</p>
        <?php echo $smiley_table; ?> </body> </html>
        When you have created the above controller and view, load it by visiting http://www.example.com/index.php/smileys/
    </body>
</html>

字段別名

當(dāng)修改視圖的時(shí)候,會(huì)牽扯到控制器中的 id 字段,帶來不便。為了解決這一問題, 你可以在視圖中給表情一個(gè)別名,并將其映射到 id 字段。

$image_array = get_smiley_links("http://example.com/images/smileys/", "comment_textarea_alias");

將別名映射到 id 字段,可以使用 smiley_js 函數(shù)并傳入這兩個(gè)參數(shù):

$image_array = smiley_js("comment_textarea_alias", "comments");

可用函數(shù)

get_clickable_smileys($image_url[, $alias = ''[, $smileys = NULL]])

參數(shù):

  • $image_url (string) -- URL path to the smileys directory
  • $alias (string) -- Field alias

返回: An array of ready to use smileys

返回類型: array

返回一個(gè)已經(jīng)綁定了可點(diǎn)擊表情的數(shù)組。你必須提供表情文件夾的 URL , 還有表單域的 ID 或者表單域的別名。

舉例:

$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comment');

smiley_js([$alias = ''[, $field_id = ''[, $inline = TRUE]]])

參數(shù):

  • $alias (string) -- Field alias
  • $field_id (string) -- Field ID
  • $inline (bool) -- Whether we're inserting an inline smiley

返回: Smiley-enabling JavaScript code

返回類型: string

生成可以讓圖片點(diǎn)擊后插入到表單域中的 JavaScript 代碼。如果你在生成表情鏈接的時(shí)候 提供了一個(gè)別名來代替 id ,你需要在函數(shù)中傳入別名和相應(yīng)的 id ,此函數(shù)被設(shè)計(jì)為 應(yīng)放在你 Web 頁面的 部分。

舉例:

<?php echo smiley_js(); ?>

parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]])

參數(shù):

  • $str (string) -- Text containing smiley codes
  • $image_url (string) -- URL path to the smileys directory
  • $smileys (array) -- An array of smileys

返回: Parsed smileys

返回類型: string

輸入一個(gè)文本字符串,并將其中的純文本表情替換為等效的表情圖片,第一個(gè)參數(shù)為你的字符串, 第二個(gè)參數(shù)是你的表情目錄對(duì)應(yīng)的 URL 。

舉例:

$str = 'Here are some smileys: :-)  ;-)';
$str = parse_smileys($str, 'http://example.com/images/smileys/');
echo $str;
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)