PHP編程實例:簡單的自定義函數過濾字符串功能實現!

有時候用戶在網站上發佈內容或者留言時,系統提示使用了禁止詞語禁止發佈。為了避免用戶在網站上發佈違規違法內容,網站開發人員為了規範網站內容採取了過濾字符串的手段,今天為大家講解一下自定義函數過濾字符串。

實現過程

1、製作用戶評論文本框和評論提交按鈕。

1、創建php文件。

2、定義具有過濾功能的驗證函數,設定過濾規則。

3、調用函數去判斷用戶提交內容是否符合規則

代碼如下:

PHP編程實例:簡單的自定義函數過濾字符串功能實現!

PHP知識點總結:

1、form標籤的action屬性

form標籤的action屬性表示向何處提交表單數據,當action為空時表示數據提交還是這個頁面本身。

2、php自定義函數

我們把內容過濾(過濾字符串功能)功能語句都寫到函數里方便後續的調用。函數是可以實現特定功能的代碼塊(程序),大部分編程語言都有這個概念,函數可以更好實現模塊功能。函數可以分為父函數和子函數,他們之前可以相互調用。上面代碼中我們聲明瞭一個str函數,它具有過濾特定內容(過濾字符串)的功能。

3、數組和php系統函數

這個實例中我們先把我們要過濾的內容(版權、出版、圖書、影像)聲明成數組$array,再用implode()函數把數組轉換成字符串$repstr。數組是不能直接操作的,我們需要把數組轉換成字符串再進一步處理。

4、if語句、preg_match() 函數和正則表達式

if語句作用是根據不同的條件執行不同的動作,如果用戶輸入內容出現了禁止內容提示“使用了系統禁止詞語,重新填寫”頁面重新定位到index.php。如果用戶輸入內容不包括禁止內容則輸出提交成功並輸出用戶提交內容。

preg_match() 函數是處理正則表達式匹配,成功返回 1 ,否則返回 0。“/$str/”是一個簡單的正則表達式表示匹配函數的參數即用戶輸入內容,preg_match("/$str/",$repstr)意思用戶輸入內容($str)和設定禁止的內容($repstr)進行匹配,如果匹配成功返回1,if執行為真的內容。如果匹配不成功,返回0,則if執行else內容。

5、empty()函數

為了避免出現非預期的效果,這是使用是empty()函數判斷$_POST['sub'](提交的內容)傳遞參數是否存在。

上面實例只是簡單介紹了字符串過濾的原理,如果要運用的話需要把過濾數據存儲在數據庫中,而不是一個簡單的數組。

代碼運行結果如下圖:

PHP編程實例:簡單的自定義函數過濾字符串功能實現!

PHP編程實例:簡單的自定義函數過濾字符串功能實現!

關於自定義函數過濾字符串功能先聊到這,每天學習一個知識點,每日寄語-“滴水穿石,不是力量大,而是功夫深。”


分享到:


相關文章: