A PHP library simplifying the conversion of unicode, HTML and shortcode emoji.
$ composer require elvanto/litemoji
Alternatively you can clone or download the library files.
use LitEmoji\LitEmoji;
echo LitEmoji::encodeShortcode('Baby you light my π₯! π');
// 'Baby you light my :fire:! :smiley:'
echo LitEmoji::encodeHtml('Baby you light my :fire:! :smiley:');
// 'Baby you light my 🔥! 😃'
echo LitEmoji::encodeUnicode('Baby you light my :fire:! :smiley:');
// 'Baby you light my π₯! π'
echo LitEmoji::removeEmoji('Baby you light my π₯! π!!!');
// 'Baby you light my ! !!!'
use LitEmoji\LitEmoji;
// Exclude specific shortcodes when converting from unicode and HTML entities
LitEmoji::config('excludeShortcodes', ['mobile', 'android']);
echo LitEmoji::encodeShortcode('π±');
// ':iphone:'
// Add aliases for custom shortcodes
LitEmoji::config('aliasShortcodes', ['yeah' => 'thumbsup']);
echo LitEmoji::encodeUnicode('Can do :yeah:!');
// 'Can do π!'
LitEmoji's various functions will do their best to detect the encoding of the provided text and should work on UTF-8 encoded strings without issue. In cases where the encoding cannot be detected, UTF-8 is assumed, however a second argument can be provided to any of the functions to hint the actual encoded of the provided string.
Pull requests are welcome. New code must be fully unit tested (the existing test suite can be run with PHPUnit).