我目前有一个允许用户在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);
(此模式不起作用)
答案 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
)
所以基本上匹配两个不同正则表达式中的单词和非单词。