此擴充套件提供可用於驗證或過濾資料的過濾器。當資料來源包含未知(或外部)資料(例如使用者提供的輸入)時,這特別有用。例如,此資料可能來自 HTML 表單。
過濾主要有兩種類型:驗證和過濾。
驗證過濾器用於檢查數據是否符合特定條件。這些過濾器由 FILTER_VALIDATE_*
常數識別。例如,FILTER_VALIDATE_EMAIL
過濾器可用於判斷數據是否為有效的電子郵件地址。但是,它永遠不會更改輸入數據。
另一方面,淨化會「清理」數據,因此它可能會透過添加或移除字符來更改輸入數據。這些過濾器由 FILTER_SANITIZE_*
常數識別。例如,FILTER_SANITIZE_EMAIL
過濾器會移除不適合包含在電子郵件地址中的字符。但是,淨化後的數據並未經過驗證以檢查其是否為有效的電子郵件地址。
大多數過濾器都支援可調整過濾器行為的選用 _標記_。這些標記由 FILTER_FLAG_*
常數識別。例如,將 FILTER_FLAG_PATH_REQUIRED
與 FILTER_VALIDATE_URL
驗證過濾器一起使用,要求URL 必須包含路徑(例如 https://example.org/foo
中的 /foo
)。