微信nickname中的表情替换成*号存储到数据库

function replaceEmoji($nickname,$replaceStr="*")
{
    //$nickname = json_decode(‘{"nickname":"\ue131\u6f6e\u978b\uff5e\u9ad8\u6893\u94b0\ud83d\udc5f\ud83d\udc5f\ud83d\udc5f"}‘);
    //var_dump($nickname);
    $nicknameTmp         = json_encode($nickname);
    //var_dump($nicknameTmp);
    //$nicknameTmp = preg_replace("#(\\\ue[0-9a-f]{3})#ie","addslashes(‘\\1‘)",$nicknameTmp);
    $nicknameTmp         = preg_replace("#(\\\ue[0-9a-f]{3})#i",$replaceStr,$nicknameTmp);
    $nicknameNoEmoji     = json_decode($nicknameTmp);
    return $nicknameNoEmoji;
}

参考了别人的代码,正则替换成*号或者其他符号,微信传过来的是Unicode,但数据库无法存储,目前只做了最简单的处理。

时间: 2024-12-17 15:33:32

微信nickname中的表情替换成*号存储到数据库的相关文章

微信消息中的CreateTime转换成标准格式的时间

/** * 将微信消息中的CreateTime转换成标准格式的时间(yyyy-MM-dd HH:mm:ss) * * @param createTime 消息创建时间 * @return */ public static String formatTime(String createTime) { // 将微信传入的CreateTime转换成long类型,再乘以1000 long msgCreateTime = Long.parseLong(createTime) * 1000L; DateFo

面试题5:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 注意从后向前替换,使得时间复杂度为O(n); public class Main { public static void main(String[] args) { Main main01=new Main(); String str=main01.replaceSpace(new StringBuffer("old s

批量将代码中的 get_XXX 替换成 XXX

使用 sed 只需要一个命令: sed -s -i 's/set_\([A-Za-z0-9_]*\)/\1 = /g' ` find . -name '*.cs' | xargs grep -l set_ ` 解释如下: ` find . -name '*.cs' | xargs grep -l set_ ` : 找到符合条件的文件,作为 sed 的输入文件 sed -s 表示将输入的文件一个一个地处理,而不是当作一个批量处理 -i 表示直接替换文件 set_[A-Za-z0-9_]*  用正则

把Paul Pauline pual Paula Paul中的Paul替换成Ringo

<!DOCTYPE html> <html> <body> <button onclick="myFunction()">Try it</button> <p id="demo">Paul,Paula,paul,Pauline,Paul</p> <script> function myFunction() { var str = document.getElementBy

iOS 表情替换成字符串

//系统表情替换 + (NSString *)stringReplaceWithFace:(NSString *)str { NSString *mutaStr = str; for (int i=0x1F600; i<=0x1F64F; i++) { if (i < 0x1F641 || i > 0x1F644) { int sym = EMOJI_CODE_TO_SYMBOL(i); NSString *emoT = [[NSString alloc] initWithBytes:&

(利用tempdata判断action是直接被访问还是重定向访问)防止微信活动中用户绕过关注公众号的环节

说明:这个不是在进行微信公众号开发,也就是说在不能获取用户openid的前提下做的下面操作 1.动机:最近有个微信活动(关注了服务号的可以免费领取礼品),要做这么一个功能,活动的入口在微信服务号的菜单上,只有从这里链接过来的用户才有权限看到领取礼品的表单,否则就是引导关注微信服务号的链接,但是为了防止用户直接将活动也分享出去了,然后其他用户避开了关注微信这样一个环节,所有已关注的用户打开活动链接之后的地址和服务号上的入口链接地址不能一样 2. 意图:我想在服务号的入口上加上一个参数,标明是从微信

Java批量将文件中的段落替换成空格,根据指定分隔符换行(SQL示例)

我的需求是SQL文件中有成千的类似数据,我要将它们进行转换格式,如下图 第一步:将字符段楼替换,使用word排版 把数据拷贝到word中,使用特殊字符替换 点击全部替换,替换之后如下图,这时候它是一串很长的字符串 第二步:编写Java替换程序 在代码中num是分割段,到第16个字符时候换行 public class Demo { public static void main(String[] args) { String s = "'133','153','180','181','189','

剑指offer 66题 -- 将一个字符串中的空格替换成“%20”

class Solution {public: void replaceSpace(char *str,int length) { //变量定义区 int newtv = 0; int oldtv = 0; int spaceNum = 0; //入参有效性判断 if( NULL == str || length <= 0) return; //计算空格数目 int i =0; while(str[i] != '\0') { oldtv++; if(str[i] == ' ') spaceNum

关于Androdi中SQLITE 3采用GBK编码存储,数据库中文乱码问题。

1.最近开发一个项目,用SQLite Expert Personal打开数据库如下图,title会产生乱码,问题. 2.由于SQL lite默认是存储UTF-8格式,后来更改数据库编码类型为ANSI,依据操作系统,本地ANSI为GB2312格式,查看发现编码格式正常. 3.用Android程序读取,采用以下方式,可以完整读取出中文字符. Product pr=new Product(); //解决中文乱码问题 byte[] val = cursor.getBlob(cursor.getColum