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]’=> “>:]

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...