- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
【問題】關鍵字屏蔽是社交類軟件必做的功能,當然了,一般來講都是產品的中后期來做;不同產品規定不一樣,跟著產品運營走,可以的
【方法】我們從技術的角度來看到這個問題,實現一個功能后者說實現一個需求,其方法是多種多樣的,重點是找到適合我們當下產品的;比如:我們可以在后端進行數據處理之后,傳遞到前端;也可以在前端進行數據處理;這里我們要說的就是前端的JS處理方法,后端的php處理方法
【JS方法】
1 2 3 4 5 6 7 | // 進行屏蔽的文字 var str = '小麗、小明和小紅是校長的學生;在這個小家庭里面,校長就是我們的老師!' ; // 關鍵字組,這個可以在前端進行定義,也可以來自后臺 var arr = [ '小麗' , '小明' , '小紅' , '家庭' , '校長' ]; var res = str.replace(new RegExp(arr. join ( '|' ), 'img' ), '*' ); console.log(res); // *、*和*是*的學生;在這個小*里面,*就是我們的老師! |
【PHP方法】
1 2 3 4 5 6 | // 進行屏蔽的文字 $str = '小麗、小明和小紅是校長的學生;在這個小家庭里面,校長就是我們的老師!' ; // 關鍵字組 $arr = [ '小麗' , '小明' , '小紅' , '家庭' , '校長' ]; echo preg_replace( '/' . join ($arr, '|' ). '/' , '*' ,$str); // *、*和*是*的學生;在這個小*里面,*就是我們的老師! |
【總結】不同的是方法,相同的是思路;
【擴展】我們不僅僅用來過濾關鍵字,我們平時進行數據提交的時候會用trim進行過濾前后空格,其實當我們熟悉正則的時候,我們完全用正則來過濾掉用戶輸入的空格,而且用這則可以過濾掉任意位置的空格;在擴展一下可能這也是為什么名字里不能包含空格的原因了,當然真正的原因是由于語言字符串命名的限制而并非空格被過濾掉,這里用到的思想是,跨領域記憶自己學習的知識,有利于記憶和在學習;這里僅表示個人此時此刻的見解
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP