PHP正則過(guò)濾處理微信昵稱中emoji字符的方法
本文實(shí)例講述了PHP正則過(guò)濾處理微信昵稱中emoji字符的方法。分享給大家供大家參考,具體如下:
今天剛做了一個(gè)微信應(yīng)用,在獲取微信昵稱的過(guò)程中報(bào)錯(cuò)了,經(jīng)查原因是微信昵稱中包含emoji字符,在寫(xiě)入數(shù)據(jù)庫(kù)的時(shí)候出錯(cuò),所以想辦法在寫(xiě)入之前把這些字符過(guò)濾掉,于是在網(wǎng)上找到一個(gè)方法,記錄一下。
移除微信昵稱中的emoji字符:
function removeEmoji($nickname) {
$clean_text = "";
// Match Emoticons
$regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
$clean_text = preg_replace($regexEmoticons, '', $text);
// Match Miscellaneous Symbols and Pictographs
$regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
$clean_text = preg_replace($regexSymbols, '', $clean_text);
// Match Transport And Map Symbols
$regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
$clean_text = preg_replace($regexTransport, '', $clean_text);
// Match Miscellaneous Symbols
$regexMisc = '/[\x{2600}-\x{26FF}]/u';
$clean_text = preg_replace($regexMisc, '', $clean_text);
// Match Dingbats
$regexDingbats = '/[\x{2700}-\x{27BF}]/u';
$clean_text = preg_replace($regexDingbats, '', $clean_text);
return $clean_text;
}
另外還發(fā)現(xiàn)一個(gè)github開(kāi)源應(yīng)用,還沒(méi)有研究測(cè)試。
https://github.com/iamcal/php-emoji
補(bǔ)充:今天又在網(wǎng)上找到一個(gè)更簡(jiǎn)單的方法
// 過(guò)濾掉emoji表情
function filterEmoji($str)
{
$str = preg_replace_callback( '/./u',
function (array $match) {
return strlen($match[0]) >= 4 ? '' : $match[0];
},
$str);
return $str;
}
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達(dá)式用法總結(jié)》、《php程序設(shè)計(jì)安全教程》、《php安全過(guò)濾技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《php字符串(string)用法總結(jié)》及《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php 正則去掉<p> </p> 空格 與<p><br/></p>
- php正則表達(dá)式使用方法整理集合
- PHP常用正則表達(dá)式精選(推薦)
- PHP正則表達(dá)式處理函數(shù)(PCRE 函數(shù))實(shí)例小結(jié)
- PHP正則表達(dá)式筆記與實(shí)例詳解
- PHP中PCRE正則解析代碼詳解
- PHP正則判斷一個(gè)變量是否為正整數(shù)的方法
- PHP正則驗(yàn)證字符串是否為數(shù)字的兩種方法并附常用正則
- PHP正則匹配到2個(gè)字符串之間的內(nèi)容方法
- PHP正則解析多重循環(huán)模板示例
- PHP實(shí)現(xiàn)正則匹配所有括號(hào)中的內(nèi)容
- PHP使用正則表達(dá)式實(shí)現(xiàn)過(guò)濾非法字符串功能示例
- PHP簡(jiǎn)單實(shí)現(xiàn)正則匹配省市區(qū)的方法
- PHP實(shí)現(xiàn)正則表達(dá)式分組捕獲操作示例
- phpstorm 正則匹配刪除空行、注釋行(替換注釋行為空行)
- PHP利用正則表達(dá)式實(shí)現(xiàn)手機(jī)號(hào)碼中間4位用星號(hào)(*)替換顯示功能
- 史上最全的PHP正則表達(dá)式(手機(jī)號(hào)需要加上177-***)
- PHP正則之正向預(yù)查與反向預(yù)查講解與實(shí)例
相關(guān)文章
PHP使用Mysqli類庫(kù)實(shí)現(xiàn)完美分頁(yè)效果的方法
這篇文章主要介紹了PHP使用Mysqli類庫(kù)實(shí)現(xiàn)完美分頁(yè)效果的方法,結(jié)合實(shí)例形式分析了PHP使用Mysqli類庫(kù)的相關(guān)配置文件設(shè)置,數(shù)據(jù)庫(kù)操作及分頁(yè)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-04-04
常見(jiàn)的四種POST 提交數(shù)據(jù)方式(小總結(jié))
這篇文章主要介紹了常見(jiàn)的四種POST 提交數(shù)據(jù)方式(小總結(jié))的相關(guān)資料,需要的朋友可以參考下2015-10-10
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別2009-09-09
php設(shè)計(jì)模式 Command(命令模式)
將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化,對(duì)請(qǐng)求排除或記錄請(qǐng)求日志,以及支持可取消的操作2011-06-06
PHP socket 模擬POST 請(qǐng)求實(shí)例代碼
這篇文章主要介紹了 PHP 使用socket 模擬POST的方法,結(jié)合實(shí)例分析了sockets 模擬 POST 常用技巧,需要的朋友可以參考下2016-07-07

