在社交网络如此发达的今天,Emoji 表情包无处不在,无论是QQ、微信、微博还是各大论坛,到处都是表情包的身影。作为一个开发者,你可能需要在应用中提供多种表情以供用户评论、交流时使用。
PHP 5 已经支持将Unicode 字符串转化为表情,但是比较复杂:
<?phpecho json_decode('"\uD83D\uDE00"');
PHP 7 对 Unicode 字符串提供了更好的支持,我们可以更方便地显示表情:
<?phpecho "\u{1F60E}";
当然,这样的编码是不友好的,我们需要使用可读性更好的方式来实现表情显示,幸运的是,在Laravel 中,我们可以通过 Laravel Emoji 这个扩展包来实现这个目的。
系统要求:PHP 5.4+/HHVM 3.3+,Composer
要安装最新版本的 Laravel Emoji,在 composer.json 中声明如下依赖:
"unicodeveloper/laravel-emoji": "1.0.*"
然后运行 composer install 或 composer update 来下载并安装该扩展包。
安装完成之后,需要注册服务提供者,在配置文件 app.php 中,添加如下这段代码到 providers 数组:
Unicodeveloper\Emoji\EmojiServiceProvider::class
同时,不要忘了注册门面到 aliases 数组:
'aliases' => [ ... 'Emoji' => Unicodeveloper\Emoji\Facades\Emoji::class, ...]
Laravel Emoji 为我们提供了多种显示表情的方法,然后通过 Emoji 门面统一调用:
<?phpEmoji::findByAlias("kissing_heart");Emoji::findByName("sunglasses");Emoji::findByUnicode("\u{1F60A}"); //displays 'blush'
更多 Emoji 表情,请查看 完整Emoji表情列表 。