如果字符串包含用于表情符号的用户定义命令,如何使用正则表达式匹配

时间:2016-01-28 05:32:00

标签: php regex

我正在创建一个应用程序,我正在为表情符号命令。

当您输入/happy时,它会显示图标。我已经做到了。

但我想要的是,如果用户输入/happy happy,它会显示我的表情 + 快乐字。

如何使用正则表达式执行此操作?另一个例子:

用户输入:/happy /happy /happy happy

应该有3个表情符号和1个单词。

2 个答案:

答案 0 :(得分:2)

您需要在正则表达式中加入/,以便匹配包含它的单词,如下所示:

$output = preg_replace('~/happy~', 'EMOTICON', $input);

例如:

$input = "I'm so /happy now!";
$output = preg_replace('~/happy~', "☺", $input);
echo $output;

// output: I'm so ☺ now!
  

渲染输出:我现在!!

答案 1 :(得分:0)

我的意思是你甚至不需要一个正则表达式,但如果你想使用它,它就像这样简单:

$string = preg_replace('@/happy\b@i', ':)', $string);

\b是一个“字边界”,可防止“/happyer”变成:)er