日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

PHP 过滤器(Filter)

發(fā)布時間:2023/12/15 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 过滤器(Filter) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

PHP 過濾器用于驗(yàn)證和過濾來自非安全來源的數(shù)據(jù)。驗(yàn)證和過濾用戶輸入或自定義數(shù)據(jù)是任何 Web 應(yīng)用程序的重要組成部分。設(shè)計 PHP 的過濾器擴(kuò)展的目的是使數(shù)據(jù)過濾更輕松快捷。

由于大部分Web應(yīng)用程序都依賴于外部數(shù)據(jù)的輸入,這些數(shù)據(jù)的來源包括:

  • 來自表單的輸入數(shù)據(jù)
  • Cookies
  • 服務(wù)器變量
  • 數(shù)據(jù)庫查詢結(jié)果

通過使用過濾器,您能夠確保應(yīng)有程序獲得正確的輸入類型。

過濾函數(shù)

對于需要過濾的變量,使用下列函數(shù):

函數(shù)描述PHP
filter_has_var()檢查是否存在指定輸入類型的變量。5
filter_id()返回指定過濾器的 ID 號。5
filter_input()從腳本外部獲取輸入,并進(jìn)行過濾。5
filter_input_array()從腳本外部獲取多項輸入,并進(jìn)行過濾。5
filter_list()返回包含所有得到支持的過濾器的一個數(shù)組。5
filter_var_array()獲取多項變量,并進(jìn)行過濾。5
filter_var()獲取一個變量,并進(jìn)行過濾。5

PHP:指示支持該函數(shù)的最早的 PHP 版本。

過濾器

FILTER_CALLBACK

調(diào)用用戶自定義函數(shù)來過濾數(shù)據(jù)。把自定義的函數(shù)作為一個過濾器來使用。這樣,就擁有了數(shù)據(jù)過濾的完全控制權(quán)。指定的函數(shù)必須存入名為 “options” 的關(guān)聯(lián)數(shù)組中。

注意:既可以創(chuàng)建自己的自定義函數(shù),也可以使用已有的 PHP 函數(shù)。規(guī)定準(zhǔn)備用到過濾器函數(shù)的方法,與規(guī)定選項的方法相同。

在下面的例子中,使用了一個自定義的函數(shù)把所有 “_“ 轉(zhuǎn)換為空格:

1
2
3
4
5
6
7
8
<?php
function convertSpace($string) {
return str_replace("_", " ", $string);
}
$string = "Peter_is_a_great_guy!";
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
?>
// 結(jié)果:Peter is a great guy!

validating過濾器

  • 作用

  • 用于驗(yàn)證用戶輸入。
  • 嚴(yán)格的格式規(guī)則。(比如 URL 或 E-Mail 驗(yàn)證)
  • 如果成功則返回預(yù)期的類型,失敗則返回 false。
  • 效果:Validation 用于校驗(yàn)數(shù)據(jù)。例如,在filter_var($variable)中傳入FILTER_VALIDATE_EMAIL,會校驗(yàn)$variable是否為合法的email地址。

  • 返回結(jié)果:校驗(yàn)通過返回數(shù)據(jù),校驗(yàn)失敗返回false。

1
2
3
4
5
6
7
8
<?php
$var=300;

$int_options = array("options"=>
array("min_range"=>0, "max_range"=>256));

var_dump(filter_var($var, FILTER_VALIDATE_INT, $int_options));
?>

sanitizing過濾器

  • 作用

  • 用于允許或禁止字符串中指定的字符。
  • 無數(shù)據(jù)格式規(guī)則。
  • 始終返回字符串。
  • 效果:Sanitization 用于修正數(shù)據(jù),不校驗(yàn)數(shù)據(jù)。例如,在filter_var($variable)中傳入FILTER_SANITIZE_EMAIL,$variable變量中不符合email地址規(guī)則的字符將會被修剪。

  • 返回結(jié)果:返回修正后的數(shù)據(jù),無論修正是否起作用。

  • 示例

1
2
3
4
<?php
$url="http://www.w3school.com.cn";
var_dump(filter_var($url,FILTER_SANITIZE_ENCODED));
?>
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的PHP 过滤器(Filter)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。