php – 匹配并替换字符串中的表情符号 – 最有效的方法是什么?

Wikipedia定义了许多人们可以使用的表情符号.我想将此列表与字符串中的单词匹配.我现在有这个:

$string = "Lorem ipsum :-) dolor :-| samet";
$emoticons = array(
  '[HAPPY]' => array(' :-) ',' :) ',' :o) '),//etc...
  '[SAD]'   => array(' :-( ',' :( ',' :-| ')
);
foreach ($emoticons as $emotion => $icons) {
  $string = str_replace($icons," $emotion ",$string);
}
echo $string;

输出

Lorem ipsum [HAPPY] dolor [SAD] samet

所以原则上这是有效的.但是,我有两个问题:

>正如你所看到的,我在数组中的每个表情符号周围放置空格,例如’:-)’而不是’:-)’这使得数组在我看来不太可读.有没有办法存储没有空格的表情符号,但仍然匹配$string,周围有空格? (和代码现在一样有效吗?)
>或者有没有办法将表情符号放在一个变量中,然后在空格上爆炸以检查$string?就像是

$emoticons = array(
  ‘[HAPPY]’=> “>:]

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...