【发布时间】:2017-11-14 06:47:13
【问题描述】:
如何将表情符号计为单个字符?
我有以下记录,其中包含 Telegram 消息应用程序制作的两个表情符号和链接属性:
{ "text":"abc \ud83d\ude00\ud83e\udd23 www.google.com def", "entities": [{"offset":9,"length":14,"type":"url"}] }
我需要在字符串中找到链接,但使用 substr() 和 mb_substr() 无法在表情符号上正常工作。
substr(9, 14)
返回
“إ¸ثœâ‚¬ www.google”
将每个表情符号读取为 4 个字符
和
mb_substr(9, 14)
返回
“w.google.com d”
将每个表情符号读取为 1 个字符
我需要一个函数将每个表情符号读取为 2 个字符。
编辑:我需要澄清除了链接之外还有其他实体。所以只找到链接并不是真正的解决方案。
【问题讨论】:
-
@mega6382 这不是解决方案。我的案例是 utt-8 和表情符号的混合字符串。每个表情符号由 4 个字节组成