在输入中过滤表情符号

时间:2016-04-12 11:28:32

标签: php preg-replace emoji

我目前有一个允许用户在MySQL数据库中插入注释的表单。

在将字符串插入MySQL之前,是否有一种在PHP中过滤表情符号条目的方法?

我可以使用preg_replace()还是使用更好的功能?

这个表情符号:


插入MySQL后转换为此:

ðŸŽ

示例:

输入:This is a present

输出:This is a present

HTML表格:

<input name="remarks" type="text" placeholder="Optional"/>

PHP代码:

$remarks = $_POST['remarks'];

$remarks = preg_replace('/\xEE[\x80-\xBF][\x80-\xBF]|\xEF[\x81-\x83][\x80-\xBF]/', '', $remarks);

(此模式不起作用)

1 个答案:

答案 0 :(得分:1)

不确定这是否是您想要的,但我会尝试一下。

preg_match_all("/(\W)+/", "This is a present ", $output_array);

输出:

preg_match_all("/(\w)+/", "This is a present ", $output_array);

输出:

array(2
      0 =>  array(4
          0 =>  This
          1 =>  is
          2 =>  a
          3 =>  present
      )

所以基本上匹配两个不同正则表达式中的单词和非单词。