anisimov /emoji
允许检测emoji,删除emoji,对emoji进行编码和解码。
v1.0.1
2022-04-14 10:32 UTC
Requires
- php: >=7.4.0
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-14 15:27:16 UTC
README
它允许检测emoji,删除emoji,对emoji进行编码和解码。
安装
composer require anisimov/emoji
如何使用
编码和解码Emoji
单个冒号分隔符
$delimiter = new \Anisimov\Emoji\Delimiter\SingleColonDelimiter(); $emoji = new \Anisimov\Emoji\Emoji($delimiter); $stringWithEmoji = 'some string 😉'; $result = $emoji->encode($stringWithEmoji); // some string :wink: $stringWithEncodedEmoji = 'some string :wink:'; $result = $emoji->decode($stringWithEmoji); // some string 😉
双冒号分隔符
$delimiter = new \Anisimov\Emoji\Delimiter\DoubleColonDelimiter(); $emoji = new \Anisimov\Emoji\Emoji($delimiter); $stringWithEmoji = 'some string 😉'; $result = $emoji->encode($stringWithEmoji); // some string ::wink:: $stringWithEncodedEmoji = 'some string ::wink::'; $result = $emoji->decode($stringWithEmoji); // some string 😉
三冒号分隔符
$delimiter = new \Anisimov\Emoji\Delimiter\TripleColonDelimiter(); $emoji = new \Anisimov\Emoji\Emoji($delimiter); $stringWithEmoji = 'some string 😉'; $result = $emoji->encode($stringWithEmoji); // some string :::wink::: $stringWithEncodedEmoji = 'some string :::wink:::'; $result = $emoji->decode($stringWithEmoji); // some string 😉
在字符串中检测emoji
$delimiter = new \Anisimov\Emoji\Delimiter\SingleColonDelimiter(); $emoji = new \Anisimov\Emoji\Emoji($delimiter); $stringWithEmoji = 'some string 😉'; $result = $emoji->hasEmoji($stringWithEmoji); // true $stringWithoutEmoji = 'some string'; $result = $emoji->hasEmoji($stringWithoutEmoji); // false
删除字符串中的所有emoji
$delimiter = new \Anisimov\Emoji\Delimiter\SingleColonDelimiter(); $emoji = new \Anisimov\Emoji\Emoji($delimiter); $stringWithEmoji = '😉 some 😉 😉 😉 string 😉'; $result = $emoji->remove($stringWithEmoji); // 'some string'
在字符串中查找所有emoji
$delimiter = new \Anisimov\Emoji\Delimiter\SingleColonDelimiter(); $emoji = new \Anisimov\Emoji\Emoji($delimiter); $stringWithEmoji = '😀 some 😃 😄 string 😁 😆'; $result = $emoji->find($stringWithEmoji); // ['😀', '😃', '😄', '😁', '😆']
如何创建自定义分隔符
创建实现\Anisimov\Emoji\Delimiter\DelimiterInterface
的分隔符类。
\Anisimov\Emoji\Delimiter\DelimiterInterface::getRegexp
方法应返回用于查找分隔符包装emoji的正则表达式。
\Anisimov\Emoji\Delimiter\DelimiterInterface::getDelimiter
方法应返回分隔符符号
例如,\Anisimov\Emoji\Delimiter\SingleColonDelimiter
\Anisimov\Emoji\Delimiter\SingleColonDelimiter::getRegexp
返回/[\:]{1}[^(\:|\s)]{1,}[\:]{1}/
\Anisimov\Emoji\Delimiter\SingleColonDelimiter::getDelimiter
返回: