表情辅助函数

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

加载表情辅助函数

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

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

总体来看

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

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

可点击的表情

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

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

控制器

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

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

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

  1. <?php
  2. class Smileys extends CI_Controller {
  3. function __construct()
  4. {
  5. parent::__construct();
  6. }
  7. function index()
  8. {
  9. $this->load->helper('smiley');
  10. $this->load->library('table');
  11. $image_array = get_clickable_smileys('http://localhost/images/smileys/', 'comments');
  12. $col_array = $this->table->make_columns($image_array, 8);
  13. $data['smiley_table'] = $this->table->generate($col_array);
  14. $this->load->view('smiley_view', $data);
  15. }
  16. }
  17. ?>
在你的_application/views/_文件夹下,创建一个名字为smiley_view.php的文件,然后加入下面的代码:
  1. <html>
  2. <head>
  3. <title>Smileys</title>
  4. <?php echo smiley_js(); ?>
  5. </head>
  6. <body>
  7. <form name="blog">
  8. <textarea name="comments" id="comments" cols="40" rows="4"></textarea>
  9. </form>
  10. <p>Click to insert a smiley!</p>
  11. <?php echo $smiley_table; ?>
  12. </body>
  13. </html>
当你创建完控制器和视图之后,就可以显示你的表情了 _http://localhost/index.php/smileys/_ ### 字段别名 当修改视图的时候,会牵扯到控制器中的id字段,带来不便。为了解决这一问题,你可以在视图中给表情一个别名,并将其映射到id字段。
  1. $image_array = get_smiley_links("http://localhost/images/smileys/", "comment_textarea_alias");
将别名映射到id字段, 传递他们两个到smiley_js函数:
  1. $image_array = smiley_js("comment_textarea_alias", "comments");

函数参考

get_clickable_smileys()

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

  1. $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>区域
  1. <?php echo smiley_js(); ?>
Note: This function replaces js_insert_smiley, which has been deprecated. ## parse_smileys() 输入一个文本字符串,用来替换任何已经被包含的空白文本表情,而两者是等效的.第一个参数必须包含你的字符串,第二个参数是你的表情的存放目录:
  1. $str = 'Here are some simileys: :-) ;-)';
  2. $str = parse_smileys($str, "http://localhost/images/smileys/");
  3. echo $str;

翻译贡献者:felee, Hex, icebird, keeweihan, zehee, zhupeng