Skip to content

Astrotomic/php-twemoji

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PHP Twemoji

Latest Version MIT License Offset Earth Larabelles

GitHub Workflow Status StyleCI Total Downloads

This package provides a fluent PHP OOP builder for Twemoji URLs.

Installation

You can install the package via composer:

composer require astrotomic/php-twemoji

Usage

Single Emojis

You can use the Twemoji::emoji() method to get the Twemoji image URL for a single emoji.

use Astrotomic\Twemoji\Twemoji;

Twemoji::emoji('πŸŽ‰')->url();
// https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/1f389.svg

Twemoji::emoji('πŸŽ‰')->png()->url();
// https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/72x72/1f389.png

Twemoji::emoji('πŸŽ‰')->base('https://twemoji.astrotomic.info')->url();
// https://twemoji.astrotomic.info/svg/1f389.svg

Multiple Emojis in Text

If you have a text and want to replace all emojis with Twemoji image tags (Markdown or HTML) you can use the Twemoji::text() method. This isn't aware of emojis in attributes or anything - it just finds and replaces all Emojis in the given string.

use Astrotomic\Twemoji\Twemoji;

Twemoji::text("Hello πŸ‘‹πŸΏ")->toMarkdown();
// Hello ![πŸ‘‹πŸΏ](https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/1f44b-1f3ff.svg)

Twemoji::text("Hello πŸ‘‹πŸΏ")->png()->toMarkdown();
// Hello ![πŸ‘‹πŸΏ](https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/72x72/1f44b-1f3ff.png)

In case you want to configure the replacer once and bind it to your container for example you can do that as well.

use Astrotomic\Twemoji\Replacer;

$replacer = (new Replacer())->png();

$replacer->text("Hello πŸ‘‹πŸΏ")->toMarkdown();
// Hello ![πŸ‘‹πŸΏ](https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/72x72/1f44b-1f3ff.png)

You can also override the replacer configuration for the specific replace operation without altering the replacer configuration.

$replacer->text("Hello πŸ‘‹πŸΏ")->svg()->toMarkdown();
// Hello ![πŸ‘‹πŸΏ](https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/1f44b-1f3ff.svg)

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details. You could also be interested in CODE OF CONDUCT.

Security

If you discover any security related issues, please check SECURITY for steps to report it.

Credits

License

The MIT License (MIT). Please see License File for more information.

Treeware

You're free to use this package, but if it makes it to your production environment I would highly appreciate you buying the world a tree.

It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you contribute to my forest you’ll be creating employment for local families and restoring wildlife habitats.

You can buy trees at offset.earth/treeware

Read more about Treeware at treeware.earth