# CodeIgniter 用户指南 版本 2.2.0

编辑文档、查看近期更改请 登录 或 注册 找回密码

搜索用户指南

查看原文

# 表情辅助函数

这个表情文件包含一系列管理表情的函数.

## 加载表情辅助函数

可以使用下面的代码加载此辅助函数:

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

## 总体来看

这些笑脸表情是用普通的文本来描述的,像 :-) 然后再将他们转换成真正的表情

这里显示了许多表情图片，当你点击图片的时候，它们就会被插入到一个表单区域中.比如，你有一个允许用户评论并且可以插入表情的的博客，你的访问用户可以点击满意的表情图片，然后在javascript脚本的帮助下插入到相应的表单区域.

## 可点击的表情

这里有个案例将教给你如何在表单的旁边创建可以点击的各种表情.首先你需要下载并安装表情包,然后再建一个控制器和相应的视图作为描述文件.

重点提示：开始之前,请下载表情图片然后把它们放在可以公开访问的服务器上.这个辅助函数采用数组的形式替换各种表情,在目录 application/config/smileys.php 中可以查看

### 控制器

在你的application/controllers/目录中创建一个文件命名为`smileys.php` 然后加入下面的代码.

重点提示:修改你的表情url在函数get_clickable_smileys()的参数中，url指向你的smiley路径.

可以看到添加表情的时候我们使用的是Table Class.

<?php class Smileys extends CI_Controller { function __construct() { parent::__construct(); } function index() { $this->load->helper('smiley'); $this->load->library('table'); $image_array = get_clickable_smileys('http://localhost/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/文件夹下,创建一个名字为`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>

当你创建完控制器和视图之后，就可以显示你的表情了 http://localhost/index.php/smileys/

### 字段别名

当修改视图的时候，会牵扯到控制器中的id字段，带来不便。为了解决这一问题，你可以在视图中给表情一个别名，并将其映射到id字段。

`$image_array = get_smiley_links("http://localhost/images/smileys/", "comment_textarea_alias");`

将别名映射到id字段, 传递他们两个到smiley_js函数:

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

# 函数参考

## get_clickable_smileys()

返回一个已经绑定了可点击表情的数组。你必须提供表情文件夹的 URL，还有表单域的 ID 或者表单域的别名。

`$image_array = get_smiley_links("http://localhost/images/smileys/", "comment");`

Note: Usage of this function without the second parameter, in combination with js_insert_smiley has been deprecated.

## smiley_js()

生成的 JavaScript 可以让图片点击后插入到表单域中。如果你在生成表情链接的时候提供了一个别名来代替id，你需要在函数中传入别名和相应的form id， 此函数被设计为应放在你web页面的<head>区域

`<?php echo smiley_js(); ?>`

Note: This function replaces js_insert_smiley, which has been deprecated.

## parse_smileys()

输入一个文本字符串，用来替换任何已经被包含的空白文本表情，而两者是等效的.第一个参数必须包含你的字符串,第二个参数是你的表情的存放目录:

`$str = 'Here are some simileys: :-) ;-)';
$str = parse_smileys($str, "http://localhost/images/smileys/");
echo $str;`

翻译贡献者: felee, Hex, icebird, keeweihan, zehee, zhupeng
最后修改: 2014-06-10 13:50:32