Symfony 6.3 中的新功能:表情符号改进【转载】 CJayhe Symfony博客 474 views ## 从字符串中删除表情符号 有时,出于技术或样式原因,您的应用程序不希望 接受用户提供的内容中的表情符号。但是,条纹表情符号来自 使用正则表达式时,字符串内容会变得不必要地困难。 这就是为什么在Symfony 6.3中,我们添加了一个功能来删除所有表情符号。 给定的字符串内容。此功能通过新的人工区域设置实现 在表情符号音译器类中称为引入:`strip` ```php use Symfony\Component\Intl\Transliterator\EmojiTransliterator; $transliterator = EmojiTransliterator::create('emoji-strip'); $result = $transliterator->transliterate('A 😺, 🐈⬛, and a 🦁'); // $result = 'A , , and a ' ``` 您还可以在生成 slug 时去除表情符号: ```php use Symfony\Component\String\Slugger\AsciiSlugger; $slugger = new AsciiSlugger(); $slugger = $slugge->withEmoji('strip'); $slug = $slugger->slug('a 😺, 🐈⬛, and a 🦁'); // $slug = 'a-and-a'; ``` ## 压缩表情符号数据 之前的表情符号删除功能不是基于正则表达式。相反 我们使用 Unicode 中定义的近 5,000 个表情符号构建了一些替换规则 项目。这些规则会自动更新,因此它们将始终包含所有 官方表情符号。 我们讨论了创建新组件以仅存储表情符号的选项 数据,但决定不这样做以避免管理这个的麻烦。相反 在Symfony 6.3中,我们添加了一个工具,因此您可以自己压缩所有表情符号数据: ```shell #根据你的应用程序调整路径到'compress'二进制文件php ./vendor/symfony/intl/Resources/bin/compress ``` 此命令替换保存的原始内部 Symfony 文件 表情符号数据由一些用PHP扩展名压缩的等效文件。这就是你需要做的。Symfony将在找到文件时即时解压缩文件。`*.php*.php.gzzlib.gz` 原文链接 https://symfony.com/blog/new-in-symfony-6-3-emoji-improvements 帮助PHPZlc项目! 与任何开源项目一样, 贡献代码 或 文档 是最常见的帮助方式, 但我们也有广泛的 赞助机会。 0 赞赏 加入技术群 评论 去登录