如何使用Regex屏蔽關鍵字

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

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

【方法】我們從技術的角度來看到這個問題,實現一個功能後者說實現一個需求,其方法是多種多樣的,重點是找到適合我們當下產品的;比如:我們可以在後端進行資料處理之後,傳遞到前端;也可以在前端進行資料處理;這裡我們要說的就是前端的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進行過濾前後空格,其實當我們熟悉正則的時候,我們完全用正則來過濾掉使用者輸入的空格,而且用這則可以過濾掉任意位置的空格;在擴充一下可能這也是為什麼名字裡不能包含空格的原因了,當然真正的原因是由於語言字串命名的限制而並非空格被過濾掉,這裡用到的思想是,跨領域記憶自己學習的知識,有利於記憶和在學習;這裡僅表示個人此時此刻的見解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.