christofferok / laravel-emojione
Laravel EmojiOne 辅助工具
Requires
- php: ~5.6|~7.0|~8.0
- emojione/emojione: ^4.0.0
- illuminate/support: ~5.1|~6.0|~7.0|~8.0|~9.0
Requires (Dev)
- phpunit/phpunit: ~4.0|~5.0
- squizlabs/php_codesniffer: ^2.3
Suggests
- emojione/assets: If you want to serve the emojione assets yourself
README
Laravel 包,用于简化使用来自 EmojiOne 的精美表情符号。
请记住阅读 EmojiOne 免费许可证 并提供适当的归属。或者购买 高级许可证
从 3.x 升级到 4.x
- 更新 composer 依赖项到:
"christofferok/laravel-emojione": "^4.0"
并运行composer update
- 更新
config/emojione.php
(如果您有的话)为'emojiVersion' => '4.0'
如果您自己提供资源,则需要执行以下操作
- 更新 emojione/assets 的 composer 依赖项到:
"emojione/assets": "^4.0"
并运行composer update
- 使用正确的路径和版本更新
config/emojione.php
- 重新发布资源。请参阅下文“资源”部分
EmojiOne 4.x/3.x 与 2.0 的比较
EmojiOne 在许可证和免费许可证中提供哪些资源方面进行了大量更改。v2 代码仍在 emojione-v2 分支中。如果您正在升级此包,请注意 SVG 资源不再可用。
安装
通过 Composer
$ composer require christofferok/laravel-emojione
如果您使用的是 Laravel 5.4 或更低版本,您需要在您的 config/app.php
文件中添加以下内容
将 ServiceProvider 添加到 config/app.php
中的 providers 数组
ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider::class,
将以下内容添加到 config/app.php
中的 aliases 数组
'LaravelEmojiOne' => ChristofferOK\LaravelEmojiOne\LaravelEmojiOneFacade::class,
配置
$ php artisan vendor:publish --tag=config --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"
用法
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(相当于 LaravelEmojiOne::toImage($str)
)
🚨 输出未转义,因此在将内容传递给 @emojione
时请小心。
有关 toImage($str)
如何工作的更多详细信息,请参阅 https://github.com/Ranks/emojione/blob/master/examples/PHP.md
示例
您想允许用户在评论中放置表情符号。当您保存评论时,您可能希望通过 LaravelEmojiOne::toShort($str)
运行内容,以将 😄
和其他表情符号转换为 :smile:
等。
Comment::create([ 'content' => LaravelEmojiOne::toShort(request('content')) ]);
因此,如果有人留下这样的评论 This is an awesome comment 😄🔥
,它将保存为 This is an awesome comment :smile: :fire:
在您的视图中显示评论时,您可以使用
@emojione($comment->content)
并且这将把 :smile:
和 😄
转换为 emojione 等效的emoji。
资产
默认情况下,它将使用 JSDelivr 中的资产。
在尝试发布任何资产之前,请记住运行此操作。
composer require emojione/assets
如果您想自己提供资产,可以使用以下命令进行发布。请记住更新 config/emojione.php
尺寸为32/64/128的PNG文件
$ php artisan vendor:publish --tag=public --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"
在 config/emojione.php
中指定本地路径。请记住在路径中指定您想要的尺寸(32/64/128)。
'imagePathPNG' => '/vendor/emojione/png/64/',
精灵图
如果您想使用精灵图
$ php artisan vendor:publish --tag=sprites --provider="ChristofferOK\LaravelEmojiOne\LaravelEmojiOneServiceProvider"
在 config/emojione.php
中启用精灵图
'sprites' => true, 'spriteSize' => 32, // 32 or 64
将样式表添加到您的HTML中
<link rel="stylesheet" href="/vendor/emojione/sprites/emojione-sprite-{{ config('emojione.spriteSize') }}.min.css"/>
许可证
请记住阅读 EmojiOne免费许可证 并提供适当的归属。或者购买 高级许可证