【发布时间】:2017-12-31 13:17:37
【问题描述】:
我有一个包含表情符号的字符串。 我想从那个字符串中提取表情符号,我正在使用下面的代码,但这不是我想要的。
$string = "???? hello world ????";
preg_match('/([0-9#][\x{20E3}])|[\x{00ae}\x{00a9}\x{203C}\x{2047}\x{2048}\x{2049}\x{3030}\x{303D}\x{2139}\x{2122}\x{3297}\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x{21FF}][\x{FE00}-\x{FEFF}]?|[\x{2300}-\x{23FF}][\x{FE00}-\x{FEFF}]?|[\x{2460}-\x{24FF}][\x{FE00}-\x{FEFF}]?|[\x{25A0}-\x{25FF}][\x{FE00}-\x{FEFF}]?|[\x{2600}-\x{27BF}][\x{FE00}-\x{FEFF}]?|[\x{2900}-\x{297F}][\x{FE00}-\x{FEFF}]?|[\x{2B00}-\x{2BF0}][\x{FE00}-\x{FEFF}]?|[\x{1F000}-\x{1F6FF}][\x{FE00}-\x{FEFF}]?/u', $string, $emojis);
我想要这个:
$emojis = ["????", "????"];
但是返回这个:
$emojis = ["????"]
如果:
$string = "????????☝????"
它只返回第一个表情符号
$emoji = ["????"]
【问题讨论】:
-
试试
preg_match_all()
标签: php regex preg-match telegram emoji