unicorn-fail / emoji
表情符号、HTML实体、简码和Unicode(表情)的全面PHP解析器。
Requires
- php: ^7.2.5 || ^8.0
- ext-json: *
- ext-mbstring: *
- ext-zlib: *
- doctrine/lexer: ^1.2
- league/configuration: dev-main
- psr/event-dispatcher: ^1.0
- symfony/polyfill-php80: ^1.22.1
- vimeo/psalm: ^4.6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18.3
- phpstan/phpstan: ^0.12.81
- phpunit/phpunit: ^8.5.15
- sempro/phpunit-pretty-print: ^1.4.0
- squizlabs/php_codesniffer: ^3.5.8
- unleashedtech/php-coding-standard: ^2.7.0
This package is auto-updated.
Last update: 2024-09-19 05:38:40 UTC
README
league/emoji是一个全面的PHP解析器和转换器,用于表情符号、HTML实体、简码和Unicode(表情);利用milesj/emojibase作为其数据源。
📦 安装与基本用法
此项目需要PHP 7.2.5或更高版本,以及mbstring
和zlib
PHP扩展。要使用Composer安装,请运行
$ composer require league/emoji
注意:直到它实际上在packagist.com的
league
命名空间下发布,您需要在您的composer.json
文件中添加以下内容"repositories": [ { "type": "vcs", "url": "https://github.com/unicorn-fail/emoji.git" } ], "require": { "league/emoji": "dev-main" }
League\Emoji\Emoji
类为将表情符号、HTML实体和简码转换为正确的Unicode字符(表情)提供了一个简单的包装器
use League\Emoji\EmojiConverter; use League\Emoji\Emojibase\EmojibaseDatasetInterface; use League\Emoji\Emojibase\EmojibaseShortcodeInterface; $defaultConfiguration = [ /** @var array<string, string> (see EmojiConverter::TYPES) */ 'convert' => [ EmojiConverter::EMOTICON => EmojiConverter::UNICODE, EmojiConverter::HTML_ENTITY => EmojiConverter::UNICODE, EmojiConverter::SHORTCODE => EmojiConverter::UNICODE, EmojiConverter::UNICODE => EmojiConverter::UNICODE, ], /** @var array<string, mixed> */ 'exclude' => [ /** @var string[] */ 'shortcodes' => [], ], /** @var string */ 'locale' => 'en', /** @var ?bool */ 'native' => null, // Auto (null), becomes true or false depending on locale set. /** @var int */ 'presentation' => EmojibaseDatasetInterface::EMOJI, /** @var string[] */ 'preset' => EmojibaseShortcodeInterface::DEFAULT_PRESETS, ]; // Convert all applicable values to unicode emojis (default configuration). $converter = EmojiConverter::create(); echo $converter->convert('We <3 :unicorn: :D!'); // We ❤️ 🦄 😀! // Convert all applicable values to HTML entities. $converter = EmojiConverter::create(['convert' => EmojiConverter::HTML_ENTITY]); echo $converter->convert('We <3 :unicorn: :D!'); // We \❤ \🦄 \😀! // Convert all applicable values to shortcodes. $converter = EmojiConverter::create(['convert' => EmojiConverter::SHORTCODE]); echo $converter->convert('We <3 :unicorn: :D!'); // We :heart: :unicorn: :grinning:!
请注意,仅支持UTF-8和ASCII编码。如果您的内容使用不同的编码,请在运行此库之前将其转换为UTF-8。
📓 文档
@todo
⏫ 升级
@todo
🏷️ 版本控制
遵循SemVer。次要和补丁版本不应向代码库引入破坏性更改;然而,它们可能会更改解析Markdown(由于错误修复、规范更改等)产生的AST或HTML输出。因此,您可能会得到略微不同的HTML,但任何建立在库之上的自定义代码都应该仍然正常工作。
标记为@internal
的任何类或方法都不建议在库外部使用,并且可能在任何时候进行破坏性更改,因此请避免使用它们。
🛠️ 维护与支持
@todo
👷♀️ 贡献
@todo
🧪 测试
$ composer test
或者,要包含覆盖率支持
$ composer test-coverage
👥 致谢与认可
此代码最初基于elvanto/litemoji,由Ben Sinclair维护和版权所有。目前,此项目仍然使用milesj/emojibase作为其数据源,由Miles Johnson维护和版权所有。如果没有他们的作品,这个项目将不会存在!
📄 许可证
league/emoji采用BSD-3许可证。有关更多详细信息,请参阅LICENSE
文件。
🏛️ 管治
此项目主要由Mark Halliwell维护。