PHP學習 10 Filter過濾器總結

2021-08-11 20:43:11 字數 2930 閱讀 2334

完整的函式與過濾器的列表:

如需過濾變數,請使用下面的過濾器函式之一:

filter_var() - 通過乙個指定的過濾器來過濾單一的變數

filter_var_array() - 通過相同的或不同的過濾器來過濾多個變數

filter_input - 獲取乙個輸入變數,並對它進行過濾

filter_input_array - 獲取多個輸入變數,並通過相同的或不同的過濾器對它們進行過濾

在下面的例子中,我們用 filter_var() 函式驗證了乙個整數:

<?php

$int = 123;

if(!filter_var($int, filter_validate_int))

else

?>

validating 過濾器:用於驗證使用者輸入;嚴格的格式規則(比如 url 或 e-mail 驗證),如果成功則返回預期的型別,如果失敗則返回 false

sanitizing 過濾器:用於允許或禁止字串中指定的字元,無資料格式規則,始終返回字串

選項和標誌用於向指定的過濾器新增額外的過濾選項。

不同的過濾器有不同的選項和標誌。

在下面的例子中,我們用 filter_var() 和 「min_range」 以及 「max_range」 選項驗證了乙個整數:

<?php

$var=300;

$int_options = array(

"options"=>array

( "min_range"=>0,

"max_range"=>256

));if(!filter_var($var, filter_validate_int, $int_options))

echo("integer is not valid");

else

echo("integer is valid");

?>

就像上面的**一樣,選項必須放入乙個名為 「options」 的相關陣列中。如果使用標誌,則不需在陣列內。

由於整數是 「300」,它不在指定的範圍內,以上**的輸出將是 「integer is not valid」。

第一是確認是否存在我們正在查詢的輸入資料。然後我們用 filter_input() 函式過濾輸入的資料。

在下面的例子中,輸入變數 「email」 被傳到 php 頁面:

<?php

if(!filter_has_var(input_get, "email"))

else

else

}?>

<?php

$filters = array

( "name" => array

( "filter"=>filter_sanitize_string

),"age" => array

( "filter"=>filter_validate_int,

"options"=>array

("min_range"=>1,

"max_range"=>120)),

"email"=> filter_validate_email,

);$result = filter_input_array(input_get, $filters);

if (!$result["age"])

elseif(!$result["email"])

else

?>

例子解釋:

上面的例子有三個通過 「get」 方法傳送的輸入變數 (name, age and email)

設定乙個陣列,其中包含了輸入變數的名稱,以及用於指定的輸入變數的過濾器

呼叫 filter_input_array 函式,引數包括 get 輸入變數及剛才設定的陣列

檢測 $result 變數中的 「age」 和 「email」 變數是否有非法的輸入。(如果存在非法輸入,)

filter_input_array() 函式的第二個引數可以是陣列或單一過濾器的 id。

如果該引數是單一過濾器的 id,那麼這個指定的過濾器會過濾輸入陣列中所有的值。

如果該引數是乙個陣列,那麼此陣列必須遵循下面的規則:

必須是乙個關聯陣列,其中包含的輸入變數是陣列的鍵(比如 「age」 輸入變數)

此陣列的值必須是過濾器的 id ,或者是規定了過濾器、標誌以及選項的陣列

通過使用 filter_callback 過濾器,可以呼叫自定義的函式,把它作為乙個過濾器來使用。這樣,我們就擁有了資料過濾的完全控制權。

您可以建立自己的自定義函式,也可以使用已有的 php 函式。

規定您準備用到過濾器函式的方法,與規定選項的方法相同。

在下面的例子中,我們使用了乙個自定義的函式把所有 「_」 轉換為空格:

<?php

function

convertspace

($string)

$string = "peter_is_a_great_guy!";

echo filter_var($string, filter_callback, array("options"=>"convertspace"));

?>

以上**的結果是這樣的:

peter is a great guy!

例子解釋:

上面的例子把所有 「_」 轉換成空格:

建立乙個把 「_」 替換為空格的函式

呼叫 filter_var() 函式,它的引數是 filter_callback 過濾器以及包含我們的函式的陣列

angularjs 過濾器filter 學習筆記

文章參考 過濾器 filter 正如其名,作用就是接收乙個輸入,通過某個規則進行處理,然後返回處理後的結果。主要用在資料的格式化上,例如獲取乙個陣列中的子集,對陣列中的元素進行排序等。ng內建了一些過濾器 總共九種 它們是 currency 貨幣 date 日期 filter 子串匹配 json 格...

php學習筆記 filter

filter var variable,filter,options variable必填,filter可選,options規定包含標誌 選項的陣列。檢查每個過濾器可能的標誌和選項。var 300 int options array options array min range 0,max ran...

Java學習路程之Filter 過濾器

1.含義 過濾器是處於客戶端與伺服器資源檔案之間的一道過濾網,在訪問資源檔案之前,通過一系列的過濾器對請求進行修改 判斷等,把不符合規則的請求在中途攔截或修改。也可以對響應進行過濾,攔截或修改響應。2.作用 自動登入 統一編碼 過濾關鍵字 3.編寫filter步驟 1 編寫乙個類實現filter介面...