elvanto / litemoji
A PHP library simplifying the conversion of unicode, HTML and shortcode emoji.
Installs: 3 811 738
Dependents: 4
Suggesters: 0
Security: 0
Stars: 76
Watchers: 5
Forks: 13
Open Issues: 3
Requires
- php: >=7.4
- ext-mbstring: *
Requires (Dev)
- milesj/emojibase: 15.3.*
- phpunit/phpunit: ^9.0
README
A PHP library simplifying the conversion of unicode, HTML and shortcode emoji.
Installation
$ composer require elvanto/litemoji
Alternatively you can clone or download the library files.
Usage
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 ! !!!'
Configuration
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 👍!'
Encodings
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.
Contributing
Pull requests are welcome. New code must be fully unit tested (the existing test suite can be run with PHPUnit).