2014-08-31 96 views
0

在我正在構建的一個應用程序中,我有可變數量的文本輸入(在線測驗填充空白問題,可變數量的空白)。問題ID需要在名稱中標識,因爲空白信息也需要傳回。我還有一些隱藏的驗證輸入(一個隨機數和formID,根據存儲在服務器上的值進行檢查,如果這些值是通過javascript發送的額外值來標記系統發回JSON),這些輸入用下劃線標識。

因此,要過濾系統值和我需要的問題的ID,我使用的是正則表達式(它工作正常)。

目前我得到我的價值觀有類似下面的代碼:

function input_filter_post($regexfilter,$escapetype,$options) { 
    $keys = array_keys($_POST); 
    $return = array(); 
    foreach($keys as $key) { 
     if (preg_match($regexfilter,$key)) { 
      $return[$key] = filter_input(INPUT_POST,$key,$escapetype,$options); 
     } 
    } 
    return $return 
} 

注意,我需要使用$_POST找到數組的鍵。但是,對於我的實際應用,我想取消設置$_POST以強制使用filter_input。有沒有辦法從$_POST中檢索密鑰而不使用$_POST

回答

0

最後,我使用了一個圍繞$_POST的包裝對象,它間接使用filter_input來獲取信息。