表情辅助函数
表情辅助函数文件包含了一些让你管理表情的函数。
重要
表情辅助函数已经废弃,不建议使用。现在只是为了向前兼容而保留。
加载辅助函数
该辅助函数通过下面的代码加载:
- $this->load->helper('smiley');
概述
表情辅助函数用于将纯文本的表情转换为图片,例如::-) 转换为
另外它还可以显示一组表情图片,当你点击其中的某个表情时将会被插入到一个表单域中。例如,如果你有一个博客并允许用户提交评论,你可以将这组表情图片显示在评论的旁边,这样用户就可以点击想要的表情,然后通过一点点的 Javascript 代码,将该表情插入到用户的评论中去。
可点击的表情包教程
这里是一个如何在表单中使用可点击的表情包的示例,这个示例需要你首先下载并安装表情图片,然后按下面的步骤创建一个控制器和视图。
重要
开始之前,请先 下载表情图片然后将其放置到服务器的一个公共目录,并打开 application/config/smileys.php 文件设置表情替换的规则。
控制器
在 application/controllers/ 目录下,创建一个文件 Smileys.php 然后输入下面的代码。
重要
修改下面的 get_clickable_smileys() 函数的 URL 参数,让其指向你的表情目录。
你会发现我们除了使用到了表情库,还使用到了 表格类:
- <?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>
字段别名
当修改视图的时候,会牵扯到控制器中的 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");
可用函数
参数:
- $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');
参数:
- $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(); ?>
参数:
- $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;