在项目中遇到移动端页面要提交表单,但是要过滤掉里面的emoji表情,找了写资料,写了个正则,但是在ios中,有些表情在找到的编码表里都没有,还有一些表情正则匹配不到,比较奇怪,有哪位大神处理过相关问题么,求解答?
这是我的正则表达式
/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g
在项目中遇到移动端页面要提交表单,但是要过滤掉里面的emoji表情,找了写资料,写了个正则,但是在ios中,有些表情在找到的编码表里都没有,还有一些表情正则匹配不到,比较奇怪,有哪位大神处理过相关问题么,求解答?
这是我的正则表达式
/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g
//php版本试试
function removeEmoji($text){
return preg_replace('/([0-9#][\x{20E3}])|[\x{00ae}\x{00a9}\x{203C}\x{2047}\x{2048}\x{2049}\x{3030}\x{303D}\x{2139}\x{2122}\x{3297}\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x{21FF}][\x{FE00}-\x{FEFF}]?|[\x{2300}-\x{23FF}][\x{FE00}-\x{FEFF}]?|[\x{2460}-\x{24FF}][\x{FE00}-\x{FEFF}]?|[\x{25A0}-\x{25FF}][\x{FE00}-\x{FEFF}]?|[\x{2600}-\x{27BF}][\x{FE00}-\x{FEFF}]?|[\x{2900}-\x{297F}][\x{FE00}-\x{FEFF}]?|[\x{2B00}-\x{2BF0}][\x{FE00}-\x{FEFF}]?|[\x{1F000}-\x{1F6FF}][\x{FE00}-\x{FEFF}]?/u', '', $text);
}
自己拐了弯想了个方法,下载了一个转换emoji表情的的插件,这个插件叫emojione.js,然后提交的时候将表情转换通过比对字段进行判别是否存在emoji表情,从而让用户自己删除
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
5 回答2.2k 阅读
3 回答2.7k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
npm上有一个[emoji-regex]包,可以使用.(https://www.npmjs.com/package...
亦或则直接使用该包中的正则表达式