首頁  >  文章  >  後端開發  >  如何使用正規表示式屏蔽關鍵字

如何使用正規表示式屏蔽關鍵字

巴扎黑
巴扎黑原創
2017-09-21 11:50:061821瀏覽

關鍵字屏蔽是社交類軟體必做的功能,當我們熟悉正則的時候,我們完全用正則來過濾掉用戶輸入的空格,而且用正則可以過濾掉任意位置的空格,具體正則屏蔽關鍵字的方法大家可以參考下本文

【問題】關鍵字屏蔽是社交類別軟體必做的功能,當然了,一般來講都是產品的中後期來做;不同產品規定不一樣,跟著產品運作走,可以的

【方法】我們從技術的角度來看到這個問題,實現一個功能後者說實現一個需求,其方法是多種多樣的,重點是找到適合我們當下產品的;例如:我們可以在後端進行資料處理之後,傳遞到前端;也可以在前端進行資料處理;這裡我們要說的就是前端的JS處理方法,後端的php處理方法

【JS方法】


#
// 进行屏蔽的文字
var str = '小丽、小明和小红是校长的学生;在这个小家庭里面,校长就是我们的老师!';
// 关键字组,这个可以在前端进行定义,也可以来自后台
var arr = ['小丽','小明','小红','家庭','校长'];
var res = str.replace(new RegExp(arr.join('|'),'img'),'*');
console.log(res);
// *、*和*是*的学生;在这个小*里面,*就是我们的老师!

##【PHP方法】


#

// 进行屏蔽的文字
$str = '小丽、小明和小红是校长的学生;在这个小家庭里面,校长就是我们的老师!';
// 关键字组
$arr = ['小丽','小明','小红','家庭','校长'];
echo preg_replace('/'.join($arr,'|').'/','*',$str);
// *、*和*是*的学生;在这个小*里面,*就是我们的老师!

【總結】不同的是方法,相同的是想法;

【擴充】我們不只僅用來過濾關鍵字,我們平時進行資料提交的時候會用trim進行過濾前後空格,其實當我們熟悉正則的時候,我們完全用正則來過濾掉用戶輸入的空格,而且用這則可以過濾掉任意位置的空格;在擴展一下可能這也是為什麼名字裡不能包含空格的原因了,當然真正的原因是由於語言字符串命名的限製而並非空格被過濾掉,這裡用到的思想是,跨領域記憶自己學習的知識,有利於記憶和在學習;這裡僅表示個人此時此刻的見解

以上是如何使用正規表示式屏蔽關鍵字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn