主頁 > 公司新聞 > 常見問題 >

使用正則表達式屏蔽關鍵字的辦法

時間:2017-11-30 作者: 來源:互聯網 瀏覽次數:
【問題】關鍵字屏蔽是軟件必做的功能之一,當然,一般來講都是產品的中后期來做;不同產品規定不一樣,跟著產品的運營走。


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

【JS方法】

1  // 進行屏蔽的文字
2  var str = '小明是創杰網絡的技術人員;在這個小家庭里面,創杰網絡就是我們的領導!';
3  // 關鍵字組,這個可以在前端進行定義,也可以來自后臺
4  var arr = ['小明','家庭','領導'];
5  var res = str.replace(new RegExp(arr.join('|'),'img'),'*');
6  console.log(res);
7  // *是*的技術人員;在這個小*里面,*就是我們的領導!


【PHP方法】

1  // 進行屏蔽的文字
2  $str = '小明是創杰網絡的技術人員;在這個小家庭里面,創杰網絡就是我們的領導!';
3  // 關鍵字組
4  $arr = ['小明','家庭','領導'];
5  echo preg_replace('/'.join($arr,'|').'/','*',$str);
6  // *是*的學生;在這個小*里面,*就是我們的領導!


【總結】不同的是辦法,相同的是思路;

【擴展】我們不僅僅用來過濾關鍵字,我們平時進行數據提交的時候會用trim進行過濾前后空格,其實當我們熟悉正則表達式的時候,我們完全可以用正則來過濾掉用戶輸入的空格,而且用正則表達式可以過濾掉任意位置的空格;在擴展一下可能這也是為什么名字里不能包含空格的原因了,當然真正的原因是由于語言字符串命名的限制而并非空格被過濾掉,這里用到的思想是,跨領域記憶自己學習的知識,有利于記憶和在學習;這里僅表示創杰網絡的見解。
一本一本久久a久久精品宗合于田真里