Need help with laravel-emojione?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

christofferok
137 Stars 15 Forks MIT License 27 Commits 1 Opened issues

Description

Laravel package to make it easy to use the gorgeous emojis from EmojiOne

Services available

!
?

Need anything else?

Contributors list

# 391,916
PHP
Laravel
laravel...
19 commits
# 44,026
torrent...
bittorr...
Laravel
PHP
2 commits
# 276,386
PHP
Laravel
HTML
laravel...
1 commit
# 448,450
opentok
PHP
Laravel
transli...
1 commit
# 2,570
PHP
wechat
laravel...
SDK
1 commit
# 212,720
PHP
Laravel
HTML
Shell
1 commit

laravel-emojione ❤️

Latest Version on Packagist Total Downloads Software License

😀 🏋🏼 ❤️ ☮

Laravel package to make it easier working with the gorgeous emojis from EmojiOne.

Remember to read the EmojiOne Free License and provide the appropriate attribution. Or buy a premium license

Upgrading from 3.x to 4.x

  1. Update your composer dependency to:
    "christofferok/laravel-emojione": "^4.0"
    and run
    composer update
  2. Update
    config/emojione.php
    (if you have one) with
    'emojiVersion' => '4.0'

If you are serving the assets yourself then you need to do the following things:

  1. Update your emojione/assets composer dependency to:
    "emojione/assets": "^4.0"
    and run
    composer update
  2. Update
    config/emojione.php
    with the correct paths and versions
  3. Publish the assets again. See "Assets" section further down

EmojiOne 4.x/3.x vs 2.0

EmojiOne made a lot of changes in their licensing and which resources are provided in the free license. v2 code is still available in the emojione-v2 branch. If you are upgrading this package, be aware that the SVG assets are not available anymore.

Install

Via Composer

$ composer require christofferok/laravel-emojione

If you are on Laravel 5.4 or lower you need to add the following to your

config/app.php
file:

Add the ServiceProvider to the providers array in

config/app.php
ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider::class,

Add this to the aliases array in

config/app.php
'LaravelEmojiOne' => ChristofferOK\LaravelEmojiOne\LaravelEmojiOneFacade::class,

Config:

$ php artisan vendor:publish --tag=config --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"

Usage

LaravelEmojiOne::toShort($str); // - native unicode -> shortnames
LaravelEmojiOne::shortnameToImage($str); // - shortname -> images
LaravelEmojiOne::unicodeToImage($str); // - native unicode -> images
LaravelEmojiOne::toImage($str); // - native unicode + shortnames -> images (mixed input)

Blade (equivalent to

LaravelEmojiOne::toImage($str)
):

@emojione(':smile:')
-> 😀

@emojione(':smile: ❤️')
-> 😀❤️

🚨 The output is not escaped so be careful with what you pass into

@emojione
.

More details about how

toImage($str)
works can be found at https://github.com/Ranks/emojione/blob/master/examples/PHP.md

Example

You want to let users put emoji a comment. When you are saving a comment, you might want to run the content through

LaravelEmojiOne::toShort($str)
to convert
😄
and other emoji to
:smile:
etc.
Comment::create([
  'content' => LaravelEmojiOne::toShort(request('content'))
]);

So if someone leaves a comment like

This is an awesome comment 😄🔥
it will be saved as
This is an awesome comment :smile: :fire:

In your view where you display your comments you can use

@emojione($comment->content)

and that will convert

:smile:
and
😄
to the emojione equivalent.

Assets

By default it will use the assets from JSDelivr.

Remember to run this before trying to publish any of the assets:

composer require emojione/assets

If you want to serve the assets yourself you can publish them with the following commands. Remember to update

config/emojione.php

PNG files in sizes 32/64/128:

$ php artisan vendor:publish --tag=public --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"

In

config/emojione.php
specify the local path. Remember to specify which size you want in the path (32/64/128).
'imagePathPNG' => '/vendor/emojione/png/64/',

Sprites

If you want to use sprites:

$ php artisan vendor:publish --tag=sprites --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"

In

config/emojione.php
enable sprites:
'sprites' => true,
'spriteSize' => 32, // 32 or 64

Add the stylesheet to your HTML:


License

Remember to read the EmojiOne Free License and provide the appropriate attribution. Or buy a premium license

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.