christofferok/laravel-emojione

Laravel EmojiOne 辅助工具

5.1.0 2022-07-24 06:07 UTC

This package is auto-updated.

Last update: 2024-09-24 10:55:20 UTC


README

Latest Version on Packagist Total Downloads Software License

😀 🏋🏼 ❤️ ☮

Laravel 包,用于简化使用来自 EmojiOne 的精美表情符号。

请记住阅读 EmojiOne 免费许可证 并提供适当的归属。或者购买 高级许可证

从 3.x 升级到 4.x

  1. 更新 composer 依赖项到: "christofferok/laravel-emojione": "^4.0" 并运行 composer update
  2. 更新 config/emojione.php(如果您有的话)为 'emojiVersion' => '4.0'

如果您自己提供资源,则需要执行以下操作

  1. 更新 emojione/assets 的 composer 依赖项到: "emojione/assets": "^4.0" 并运行 composer update
  2. 使用正确的路径和版本更新 config/emojione.php
  3. 重新发布资源。请参阅下文“资源”部分

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(':smile:') -> 😀

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

🚨 输出未转义,因此在将内容传递给 @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免费许可证 并提供适当的归属。或者购买 高级许可证