使用正則表達(dá)式屏蔽關(guān)鍵字的方法
【問題】關(guān)鍵字屏蔽是社交類軟件必做的功能,當(dāng)然了,一般來講都是產(chǎn)品的中后期來做;不同產(chǎn)品規(guī)定不一樣,跟著產(chǎn)品運(yùn)營(yíng)走,可以的
【方法】我們從技術(shù)的角度來看到這個(gè)問題,實(shí)現(xiàn)一個(gè)功能后者說實(shí)現(xiàn)一個(gè)需求,其方法是多種多樣的,重點(diǎn)是找到適合我們當(dāng)下產(chǎn)品的;比如:我們可以在后端進(jìn)行數(shù)據(jù)處理之后,傳遞到前端;也可以在前端進(jìn)行數(shù)據(jù)處理;這里我們要說的就是前端的JS處理方法,后端的php處理方法
【JS方法】
// 進(jìn)行屏蔽的文字 var str = '小麗、小明和小紅是校長(zhǎng)的學(xué)生;在這個(gè)小家庭里面,校長(zhǎng)就是我們的老師!'; // 關(guān)鍵字組,這個(gè)可以在前端進(jìn)行定義,也可以來自后臺(tái) var arr = ['小麗','小明','小紅','家庭','校長(zhǎng)']; var res = str.replace(new RegExp(arr.join('|'),'img'),'*'); console.log(res); // *、*和*是*的學(xué)生;在這個(gè)小*里面,*就是我們的老師!
【PHP方法】
// 進(jìn)行屏蔽的文字 $str = '小麗、小明和小紅是校長(zhǎng)的學(xué)生;在這個(gè)小家庭里面,校長(zhǎng)就是我們的老師!'; // 關(guān)鍵字組 $arr = ['小麗','小明','小紅','家庭','校長(zhǎng)']; echo preg_replace('/'.join($arr,'|').'/','*',$str); // *、*和*是*的學(xué)生;在這個(gè)小*里面,*就是我們的老師!
【總結(jié)】不同的是方法,相同的是思路;
【擴(kuò)展】我們不僅僅用來過濾關(guān)鍵字,我們平時(shí)進(jìn)行數(shù)據(jù)提交的時(shí)候會(huì)用trim進(jìn)行過濾前后空格,其實(shí)當(dāng)我們熟悉正則的時(shí)候,我們完全用正則來過濾掉用戶輸入的空格,而且用這則可以過濾掉任意位置的空格;在擴(kuò)展一下可能這也是為什么名字里不能包含空格的原因了,當(dāng)然真正的原因是由于語言字符串命名的限制而并非空格被過濾掉,這里用到的思想是,跨領(lǐng)域記憶自己學(xué)習(xí)的知識(shí),有利于記憶和在學(xué)習(xí);這里僅表示個(gè)人此時(shí)此刻的見解
總結(jié)
以上所述是小編給大家介紹的使用正則表達(dá)式屏蔽關(guān)鍵字的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
利用正則表達(dá)對(duì)IP進(jìn)行排序的實(shí)現(xiàn)代碼
這篇文章主要介紹了利用正則表達(dá)對(duì)IP進(jìn)行排序的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-07-07JavaScript正則表達(dá)式校驗(yàn)非零的正整數(shù)實(shí)例
本文分享了JavaScript正則表達(dá)式(^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$)校驗(yàn)非零的正整數(shù)實(shí)例代碼,代碼簡(jiǎn)單易懂,需要的朋友可以看下2016-12-12正則表達(dá)式同時(shí)匹配中英文及常用正則表達(dá)式
這篇文章主要介紹了正則表達(dá)式同時(shí)匹配中英文及常用正則表達(dá)式的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11JavaScript 正則表達(dá)式 驗(yàn)證整數(shù)、小數(shù)、實(shí)數(shù)、有效位小數(shù)最簡(jiǎn)單
輸入完按回車后即可驗(yàn)證?。ㄗ哉J(rèn)為最簡(jiǎn)單?。?/div> 2009-07-07PHP 正則表達(dá)式后面接的/isU, /is, /s含義
PHP 正則表達(dá)式后面接的/isU, /is, /s含義說明,學(xué)習(xí)正則表達(dá)式的朋友需要了解下。2010-02-02正則表達(dá)式高級(jí)技巧及實(shí)例詳解 笨活兒
正則表達(dá)式(Regular Expression, abbr. regex) 功能強(qiáng)大,能夠用于在一大串字符里找到所需信息。2009-11-11Java正則表達(dá)式驗(yàn)證是否包含某個(gè)字符串的示例代碼
作為一名經(jīng)驗(yàn)豐富的開發(fā)者,我將教會(huì)你如何使用Java正則表達(dá)式來驗(yàn)證是否包含某個(gè)字符串,在本文中,我將按照以下步驟來指導(dǎo)你完成操作,感興趣的朋友一起看看吧2023-12-12最新評(píng)論