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