匹配表情emoji 正则_php正则表达式过滤emoji表情符号

php正则表达式过滤emoji表情符号2017-08-23 21:41

现在中国有手机的人用微信的应该占了90%吧!小编没事的时候也是天天玩微信。

不过不是发朋友圈这些,而是上面有很多感兴趣的文章。

有一次看到一篇文章写得很好,就打算转载到自己的网站上面。

兴匆匆的复制、粘贴,点击提交。

万万没想到的是竟然出错,找了半天原因,才发现是文章里面的emoji符号搞的鬼。

大家都知道,微信里面大部分文章都会有emoji表情,只有一两个还好,找到删掉就行。

要是多了,怎么办?

小编想到的就是批量用正则达式将emoji去掉。

以下为相关正则表达式代码,拿去用吧!

正则表达式1 php代码<?php

function emojiFilter($text){//过滤emoji表情符号

$text = json_encode($text);

preg_match_all("/(\\\\ud83c\\\\u[0-9a-f]{4})|(\\\\ud83d\\\u[0-9a-f]{4})|(\\\\u[0-9a-f]{4})/", $text, $matchs);

if(!isset($matchs[0][0])) { return json_decode($text, true); }

$emoji = $matchs[0];

foreach($emoji as $ec) {

$hex = substr($ec, -4);

if(strlen($ec)==6) {

if($hex>='2600' and $hex<='27ff') {

$text = str_replace($ec, '', $text);

}

} else {

if($hex>='dc00' and $hex<='dfff') {

$text = str_replace($ec, '', $text);

}

}

}

return json_decode($text, true);

}

?>

正则表达式2 php代码<?php

function smarty_modifier_emojistrip($string)

{

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

}

?>

不过小编觉得,这代码不是很全,基本上的emoji能过滤掉,偶尔还是会有一些漏网之鱼。

如果你有什么好的代码,不妨分享到三体教程上面来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值