php字符串函数处理emoji,PHP中处理内容含有emoji表情的几种方式
方法1: 数据库、表用utf8mb4编码
utf8mb4是4字节的utf8编码,可完美兼容旧的3字节utf8字符集,并且可以直接存储emoji表情。如果要用这种方式解决问题,那么PHP的版本需要>=5.5.3。
方法2: 使用base64编码
在存储至数据库时用base64_encode()函数将内容编码,然后在取出时再base64_decode()解码即可达到效果。
方法3: 使用json_encode / decode
此方法原理类似方法2,在存储至数据库时用json_encode()函数将内容编码,然后在取出时再json_decode()解码。
方法4: 替换/去除emoji表情
这种方式是最极端暴力的做法,直接将emoji表情去除掉或者替换为其他字符。替换的函数使用如下:
源码如下(可复制):
/**
* 替换emoji表情
* @author:xiangzhanyou
* @date:20170706
*
* @param $str 要过滤emoji表情的内容
* @param string $replace_str 要替换成的字符,默认是空
* @return 返回替换后的字符串
*/function filterEmoji($str,$replace_str=''){
$rs = preg_replace_callback(
'/./u',
function (array $match,$replace_str) {
return strlen($match[0]) >= 4 ? $replace_str : $match[0];
},
$str
);
return $rs;}
php字符串函数处理emoji,PHP中处理内容含有emoji表情的几种方式相关推荐
- Android中实现SQLite数据库CRUD操作的两种方式
Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...
- form表单、控制器中接收表单提交数据的4种方式
Form表单 这篇文章主要讲的是form表单的提交 之前我们接触过的form表单元素是在Bootstrap框架里面,这次也将用到Bootstrap框架去布局(见图表1)通过Bootstrap框架布局呈 ...
- asp.net中读取数据库中的数据可以使用DataReader和DataSet 2种方式(初学者望大家不要笑我)...
在asp.net中,读取数据库中的数据可以使用DataReader和DataSet 2种方式, 两者的差异如下: 使用Dataset对象读取数据大致需要以下5个步骤: (1)建立数据库 ...
- linux exec 脚本之家,详解Shell脚本中调用另一个Shell脚本的三种方式
主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 ...
- Excel中数据透视表数据源更新的三种方式
Excel中数据透视表数据源更新的三种方式 1.在原有的基础上重新选择数据源 2.变数据源为表格形式,在创建一个透视表,之后如果添加的数据,选中透视表右键刷新即可 3.利用更新过的数据源再重新创建一个 ...
- android布局密码,Android中EditText显示明文与密码的两种方式
效果图如下所述: 布局 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="h ...
- Java中创建(实例化)对象的五种方式
Java中创建(实例化)对象的五种方式 1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运 ...
- python中交换两个变量值的几种方式?
python中交换两个变量值的几种方式 1.python中独有的,也是最简单的方式: a,b=b,a 2.引入第三个变量,可以看作两个装满牛奶的瓶子a和瓶子b,如果我想交换这两个瓶子中的牛奶,就需要一 ...
- sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数
sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...
最新文章
- Java培训分享void的用法和意义
- 4936: 特殊排序
- whois老域名挖掘技术
- codeforce 185 A——Plant
- 行为型模式:解释器模式
- 使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步...
- Databricks文档01----Azure Databricks初探
- 一个boost底下的线程池
- 虚拟环境virtualenv
- clickhouse修改表的TTL
- Clear Float
- 一个关于传奇3G游戏的感言
- perl脚本GET系统命令执行
- 在Ubuntu16.04上安装QQ
- CSS基础知识——常用基础命令
- bootstrap的carousel-indicators是怎么实现垂直居中的
- 5V开关电路应用设计
- mac 怎样切换 node 版本 , 如何安装oh-my-zsh
- 51 单片机数据存储
- python中.mul()和.mul_(),.exp()和.exp_()区别