函式名:filter_var()
適用版本:PHP 5 >= 5.2.0, PHP 7
用法:filter_var() 函式用於過濾一個變數,使用指定的過濾器。
語法:filter_var(variable, filter, options)
引數:
- variable:需要過濾的變數。
- filter:指定的過濾器型別。可以是以下之一:
- FILTER_VALIDATE_BOOLEAN:驗證布林值。
- FILTER_VALIDATE_EMAIL:驗證電子郵件地址。
- FILTER_VALIDATE_FLOAT:驗證浮點數。
- FILTER_VALIDATE_INT:驗證整數。
- FILTER_VALIDATE_IP:驗證IP地址。
- FILTER_VALIDATE_REGEXP:根據正規表示式驗證值。
- FILTER_VALIDATE_URL:驗證URL。
- FILTER_SANITIZE_EMAIL:刪除所有非法字元,驗證電子郵件地址。
- FILTER_SANITIZE_ENCODED:URL-encode字串,刪除所有非法字元。
- FILTER_SANITIZE_NUMBER_FLOAT:刪除除數字、加號和減號之外的所有字元。
- FILTER_SANITIZE_NUMBER_INT:刪除除數字和加號之外的所有字元。
- FILTER_SANITIZE_SPECIAL_CHARS:HTML特殊字元轉換為HTML實體。
- FILTER_SANITIZE_STRING:刪除標籤,HTML特殊字元轉換為HTML實體。
- FILTER_SANITIZE_URL:刪除所有非法字元,驗證URL。
- options:可選引數,可以是一個陣列或一個掩碼。對於某些過濾器,可以使用額外的選項。
返回值:如果過濾成功,則返回過濾後的值;如果過濾失敗,則返回 false。
示例:
$email = "[email protected]";
// 驗證電子郵件地址
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "有效的電子郵件地址";
} else {
echo "無效的電子郵件地址";
}
$url = "http://www.example.com";
// 驗證URL
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo "有效的URL";
} else {
echo "無效的URL";
}
$dirtyString = "<p>Hello, World!</p>";
// 刪除標籤,HTML特殊字元轉換為HTML實體
$cleanString = filter_var($dirtyString, FILTER_SANITIZE_STRING);
echo $cleanString;
以上示例中,filter_var() 函式分別用於驗證電子郵件地址和URL,以及刪除HTML標籤和轉換HTML特殊字元。根據傳入的引數和過濾器型別,函式會返回相應的結果。