Retired Documentation:  You are using the documentation for version 1.7.3 which was retired in 2013. Go here for the latest version documentation or check here for your available upgrades to the latest version.

ExpressionEngine Emoticon Development

Modifying or creating new sets of Emoticons for use with ExpressionEngine is fairly straightforward. Glyph translations are contained in the /system/modules/emoticon/emoticons.php file. This file contains an array, $smileys that provides instructions as to what glyphs should be replaced by which images, and what the properties of the image files are. The files themselves can be replaced or modified so that completely different Emoticon packs can be created and used.

Default Smileys Array

$smileys = array(

//  smiley                    image name            width   height  alt

    ':-)'           =>  array('grin.gif',           '19',   '19',   'grin'),
    ':lol:'         =>  array('lol.gif',            '19',   '19',   'LOL'),
    ':cheese:'      =>  array('cheese.gif',         '19',   '19',   'cheese'),
    ':)'            =>  array('smile.gif',          '19',   '19',   'smile'),
    ';-)'           =>  array('wink.gif',           '19',   '19',   'wink'),
    ';)'	    =>  array('wink.gif',           '19',   '19',   'wink'),
    ':smirk:'       =>  array('smirk.gif',          '19',   '19',   'smirk'),
    ':roll:'        =>  array('rolleyes.gif',       '19',   '19',   'rolleyes'),
    ':-S'           =>  array('confused.gif',       '19',   '19',   'confused'),
    ':wow:'         =>  array('surprise.gif',       '19',   '19',   'surprised'),
    ':bug:'         =>  array('bigsurprise.gif',    '19',   '19',   'big surprise'),
    ':-P'           =>  array('tongue_laugh.gif',   '19',   '19',   'tongue laugh'),
    '%-P'           =>  array('tongue_rolleye.gif', '19',   '19',   'tongue rolleye'),
    ';-P'           =>  array('tongue_wink.gif',    '19',   '19',   'tongue wink'),
    ':P'            =>  array('rasberry.gif',       '19',   '19',   'rasberry'),
    ':blank:'       =>  array('blank.gif',          '19',   '19',   'blank stare'),
    ':long:'        =>  array('longface.gif',       '19',   '19',   'long face'),
    ':ohh:'         =>  array('ohh.gif',            '19',   '19',   'ohh'),
    ':grrr:'        =>  array('grrr.gif',           '19',   '19',   'grrr'),
    ':gulp:'        =>  array('gulp.gif',           '19',   '19',   'gulp'),
    '8-/'           =>  array('ohoh.gif',           '19',   '19',   'oh oh'),
    ':down:'        =>  array('downer.gif',         '19',   '19',   'downer'),
    ':red:'         =>  array('embarrassed.gif',    '19',   '19',   'red face'),
    ':sick:'        =>  array('sick.gif',           '19',   '19',   'sick'),
    ':shut:'        =>  array('shuteye.gif',        '19',   '19',   'shut eye'),
    ':-/'           =>  array('hmm.gif',            '19',   '19',   'hmmm'),
    '>:('           =>  array('mad.gif',            '19',   '19',   'mad'),
    ':mad:'         =>  array('mad.gif',            '19',   '19',   'mad'),
    '>:-('          =>  array('angry.gif',          '19',   '19',   'angry'),
    ':angry:'       =>  array('angry.gif',          '19',   '19',   'angry'),
    ':zip:'         =>  array('zip.gif',            '19',   '19',   'zipper'),
    ':kiss:'        =>  array('kiss.gif',           '19',   '19',   'kiss'),
    ':ahhh:'        =>  array('shock.gif',          '19',   '19',   'shock'),
    ':coolsmile:'   =>  array('shade_smile.gif',    '19',   '19',   'cool smile'),
    ':coolsmirk:'   =>  array('shade_smirk.gif',    '19',   '19',   'cool smirk'),
    ':coolgrin:'    =>  array('shade_grin.gif',     '19',   '19',   'cool grin'),
    ':coolhmm:'     =>  array('shade_hmm.gif',      '19',   '19',   'cool hmm'),
    ':coolmad:'     =>  array('shade_mad.gif',      '19',   '19',   'cool mad'),
    ':coolcheese:'  =>  array('shade_cheese.gif',   '19',   '19',   'cool cheese'),
    ':vampire:'     =>  array('vampire.gif',        '19',   '19',   'vampire'),
    ':snake:'       =>  array('snake.gif',          '19',   '19',   'snake'),
    ':exclaim:'     =>  array('exclaim.gif',        '19',   '19',   'excaim'),
    ':question:'    =>  array('question.gif',       '19',   '19',   'question') // no comma after last item
	          );
	
smiley
the glyph / text you wish to be replaced by a particular smiley
image name
the file name for the smiley image
width
The width, in pixels, of the smiley image
height
The height, in pixels, of the smiley image
alt
The text that will be used for the image alt="" attribute

Emoticon Images

The file names in the $smileys array correspond to the files in the directory specified as the "smilies" directory in the Admin > Emoticon Preferences section of the Control Panel.

Top of Page