php 过滤emoji表情
function yz_expression()
{
foreach ($_POST as $key => &$value) {
$value = preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '@E' . base64_encode($r[0]);},$value); $countt=substr_count($value,"@");
for ($i=0; $i < $countt; $i++) {
$c = stripos($value,"@");
$value=substr($value,0,$c).substr($value,$c+10,strlen($value)-1);
}
$value = preg_replace_callback('/@E(.{6}==)/', function($r) {return base64_decode($r[1]);}, $value); }
return $_POST;
}
/**
* 替换掉数组中的emoji表情
* @param $arrayString
* @param string $replaceTo
* @return mixed|string
*/
public static function filterEmojiDeep($arrayString,$replaceTo = '?')
{
if(is_string($arrayString))
{
return self::filterEmoji($arrayString,$replaceTo);
}
else if(is_array($arrayString))
{
foreach($arrayString as &$array)
{
if(is_array($array) || is_string($array))
{
$array = self::filterEmojiDeep($array,$replaceTo);
}
else
{
$array = $array;
}
}
}
return $arrayString;
} /**
* 替换掉emoji表情
* @param $text
* @param string $replaceTo
* @return mixed|string
*/
public static function filterEmoji($text, $replaceTo = '?')
{
$clean_text = "";
// Match Emoticons
$regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
$clean_text = preg_replace($regexEmoticons, $replaceTo, $text);
// Match Miscellaneous Symbols and Pictographs
$regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
$clean_text = preg_replace($regexSymbols, $replaceTo, $clean_text);
// Match Transport And Map Symbols
$regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
$clean_text = preg_replace($regexTransport, $replaceTo, $clean_text);
// Match Miscellaneous Symbols
$regexMisc = '/[\x{2600}-\x{26FF}]/u';
$clean_text = preg_replace($regexMisc, $replaceTo, $clean_text);
// Match Dingbats
$regexDingbats = '/[\x{2700}-\x{27BF}]/u';
$clean_text = preg_replace($regexDingbats, $replaceTo, $clean_text);
return $clean_text;
}
php 过滤emoji表情的更多相关文章
- java代码过滤emoji表情
可以新建一个过滤器的类,在类中书写如下代码: public static String filterEmoji(String source) { if(source != null ...
- java过滤emoji表情(成功率高)
转载自:http://blog.csdn.net/huangchao064/article/details/53283738 基本能过滤大部分的ios,安卓,微信emoji表情 有很多别的帖子搜出来很 ...
- 过滤特殊字符(包括过滤emoji表情)
/** * 过滤特殊字符 * @param $text * @return mixed */ public static function filterSpecialChars($text) { // ...
- python3 清除过滤emoji表情
python3 清除过滤emoji表情 方法一: emoji处理库,emoji官网:https://pypi.org/project/emoji/ #安装 pip install emoji 官方例子 ...
- Js 过滤emoji表情...持续补充中..
原文来自: https://www.cnblogs.com/tsjTSJ/p/7065544.html 最全最详细的用JS过滤Emoji表情的输入 在前端页面开发过程中,总会碰到不允许输入框输入e ...
- 过滤emoji表情符
1.使用正则匹配 public function remove_emoji($text){ return preg_replace('/([0-9|#][\x{20E3}])|[\x{ ...
- 最全最详细的用JS过滤Emoji表情的输入
在前端页面开发过程中,总会碰到不允许输入框输入emoji表情的需求,我的思路是通过编码用正则匹配表情,然后将其替换为空字符创.但是问题也是显而易见的,完整的编码集是什么呢?查阅了官方文档,发现上面并没 ...
- 用JS过滤Emoji表情的输入
本文为原创,转载请注明出处: cnzt 文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6773854.html 在前端页面开发过程中,总会碰到不允许 ...
- java过滤emoji表情
import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { /** * 表情过滤 * */ ...
随机推荐
- [SOJ] DAG?
Description 输入一个有向图,判断该图是否是有向无环图(Directed Acyclic Graph). Input 输入的第一行包含两个整数n和m,n是图的顶点数,m是边数.1<=n ...
- Struts2中的一个类型转换示例
1.写一个属性文件,里面写好需要转换的类型数据,xwork-conversion.properties,解释: xwork-conversion.properties表示对所有action中的指定数据 ...
- LeetCode 453. Minimum Moves to Equal Array Elements C#
Given a non-empty integer array of size n, find the minimum number of moves required to make all arr ...
- gvim窗口根据gnome-terminal位置定位
gvim启动位置固定的话容易挡到东西,所以写了一段vimscript根据gnome-terminal的位置启动gvim,这样被遮住的概率就一些了. fun! g:get_xterm_pos ()&qu ...
- centos7下用yum安装mysql5.7
1.安装mysql源 下载地址:http://dev.mysql.com/downloads/repo/yum/ 下载之后用yum安装:yum localinstall -y xx.noarch.rp ...
- hadoop参数配置
Hadoop参数汇总 linux参数 JVM参数 Hadoop参数大全 core-default.xml hdfs-default.xml yarn-default.xml Hadoop参数汇总 @( ...
- PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony
这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...
- Python虚拟环境的配置
Python中,配置虚拟环境主要是为了防止版本之间的冲突,我是这么理解的: 1.用虚拟环境可以在一个电脑中使用多个Python解释器以及扩展: 2.可以方便的在同一台电脑中使用多个版本的代码. 虚拟环 ...
- 前台图片上传展示JS(单张图片展示)
<script type="text/javascript"> //下面用于多图片上传预览功能 function setImagePreviews(aval ...
- 双击td字段,出现编辑文本框(更改之后发送数据请求) jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head ...