# 表情辅助函数
表情辅助函数文件包含了一些让你管理表情的函数。
> 重要
> 表情辅助函数已经废弃,不建议使用。现在只是为了向前兼容而保留。
[TOC=2,3]
## [加载辅助函数](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#id9)
该辅助函数通过下面的代码加载:
~~~
$this->load->helper('smiley');
~~~
## [概述](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#id10)
表情辅助函数用于将纯文本的表情转换为图片,譬如::-) 转换为 ![smile!](http://codeigniter.org.cn/user_guide/_images/smile.png)
另外它还可以显示一组表情图片,当你点击其中的某个表情时将会被插入到一个表单域中。 例如,如果你有一个博客并允许用户提交评论,你可以将这组表情图片显示在评论的旁边, 这样用户就可以点击想要的表情,然后通过一点点的 Javascript 代码,将该表情插入到 用户的评论中去。
## [可点击的表情包教程](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#id11)
这里是一个如何在表单中使用可点击的表情包的示例,这个示例需要你首先下载并安装表情图片, 然后按下面的步骤创建一个控制器和视图。
重要
开始之前,请先 [下载表情图片](https://ellislab.com/asset/ci_download_files/smileys.zip) 然后将其放置到服务器的一个公共目录,并打开 application/config/smileys.php 文件设置表情替换的规则。
### [控制器](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#id12)
在 **application/controllers/** 目录下,创建一个文件 Smileys.php 然后输入下面的代码。
重要
修改下面的 [get_clickable_smileys()](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#get_clickable_smileys "get_clickable_smileys") 函数的 URL 参数,让其指向你的表情目录。
你会发现我们除了使用到了表情库,还使用到了 [表格类](http://codeigniter.org.cn/user_guide/libraries/table.html):
~~~
<?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/** 目录下新建一个文件 **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>
~~~
### [字段别名](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#id13)
当修改视图的时候,会牵扯到控制器中的 id 字段,带来不便。为了解决这一问题, 你可以在视图中给表情一个别名,并将其映射到 id 字段。
~~~
$image_array = get_smiley_links("http://example.com/images/smileys/", "comment_textarea_alias");
~~~
将别名映射到 id 字段,可以使用 smiley_js 函数并传入这两个参数:
~~~
$image_array = smiley_js("comment_textarea_alias", "comments");
~~~
## [可用函数](http://codeigniter.org.cn/user_guide/helpers/smiley_helper.html#id14)
get_clickable_smileys($image_url[, $alias = ''[, $smileys = NULL]])
参数:
* **$image_url** (string) -- URL path to the smileys directory
* **$alias** (string) -- Field alias
返回: An array of ready to use smileys
返回类型: array
返回一个已经绑定了可点击表情的数组。你必须提供表情文件夹的 URL , 还有表单域的 ID 或者表单域的别名。
举例:
~~~
$image_array = get_clickable_smileys('http://example.com/images/smileys/', 'comment');
~~~
smiley_js([$alias = ''[, $field_id = ''[, $inline = TRUE]]])
参数:
* **$alias** (string) -- Field alias
* **$field_id** (string) -- Field ID
* **$inline** (bool) -- Whether we're inserting an inline smiley
返回: Smiley-enabling JavaScript code
返回类型: string
生成可以让图片点击后插入到表单域中的 JavaScript 代码。如果你在生成表情链接的时候 提供了一个别名来代替 id ,你需要在函数中传入别名和相应的 id ,此函数被设计为 应放在你 Web 页面的 部分。
举例:
~~~
<?php echo smiley_js(); ?>
~~~
parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]])
参数:
* **$str** (string) -- Text containing smiley codes
* **$image_url** (string) -- URL path to the smileys directory
* **$smileys** (array) -- An array of smileys
返回: Parsed smileys
返回类型: string
输入一个文本字符串,并将其中的纯文本表情替换为等效的表情图片,第一个参数为你的字符串, 第二个参数是你的表情目录对应的 URL 。
举例:
~~~
$str = 'Here are some smileys: :-) ;-)';
$str = parse_smileys($str, 'http://example.com/images/smileys/');
echo $str;
~~~
- 欢迎使用 CodeIgniter
- 安装说明
- 下载 CodeIgniter
- 安装说明
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- CodeIgniter 将从这里开始
- CodeIgniter 是什么?
- 支持特性
- 应用程序流程图
- 模型-视图-控制器
- 设计与架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 常规主题
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 类库参考
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类
- 迁移类
- 输出类
- 分页类
- 模板解析类
- 安全类
- Session 类
- HTML 表格类
- 引用通告类
- 排版类
- 单元测试类
- URI 类
- 用户代理类
- XML-RPC 与 XML-RPC 服务器类
- Zip 编码类
- 数据库参考
- 数据库快速入门: 示例代码
- 数据库配置
- 连接你的数据库
- 查询
- 生成查询结果
- 查询辅助函数
- 查询构造器类
- 事务
- 数据库元数据
- 自定义函数调用
- 数据库缓存类
- 数据库工厂类
- 数据库工具类
- 数据库驱动器参考
- 辅助函数参考
- 数组辅助函数
- 验证码辅助函数
- Cookie 辅助函数
- 日期辅助函数
- 目录辅助函数
- 下载辅助函数
- 邮件辅助函数
- 文件辅助函数
- 表单辅助函数
- HTML 辅助函数
- 语言辅助函数
- Inflector 辅助函数
- 数字辅助函数
- 路径辅助函数
- 安全辅助函数
- 表情辅助函数
- 字符串辅助函数
- 文本辅助函数
- 排版辅助函数
- URL 辅助函数
- XML 辅助函数
- 向 CodeIgniter 贡献你的力量