フィルター:常連の死と正しい検証

データフィルターはPHP 5.0で最初に登場しましたが、偶然にもほとんどのプログラマーが気付かなかったことがあります。 おそらくこれは、PHP4のようなものが欠けているか、マニュアルがあまり読まれていないことで説明できます。 私は偶然にもそれらについて知りました...しかし、この素晴らしい機能を使用すると、典型的なタスクを実行するときに混乱を招き、時には誤った正規表現を取り除くことができます。

フィルターマニュアルはこちらです。 基本的な情報といくつかの実用的な例を紹介します。



要点をつかむ



まず、フィルターは3つのタイプに分けられます。

  1. フィルターの検証 -検証フィルター
  2. サニタイズフィルター -安全フィルター
  3. その他のフィルター -その他のフィルター


最初のタイプのフィルターは、ストリングがフィルターに一致することを確認します。 このようなフィルターからの答えは、成功またはfalseの場合、ソース文字列です。

2番目のタイプのフィルターは文字列を処理し、フィルターされた形式で返します。

3番目のタイプには1つのフィルターのみが含まれます-FILTER_CALLBACK 。ユーザー定義関数に文字列を渡し、その応答を返します。



フィルターを操作するための主な機能はfilter_varです。

mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )







最初のパラメーターは検証される変数であり、2番目はフィルター番号であり、事前に定義された定数を使用して簡単に記述されます。 3番目のパラメーターは、追加のオプションをルールとして渡すことができます-特別なフィルターフラグ。 戻り値はフィルターに依存します。



最後に、いくつかの作業例:

 //  e-mail $var = 'mail@example.com'; var_dump(filter_var($var, FILTER_VALIDATE_EMAIL)); $var = 'mail@exa_mple.com'; var_dump(filter_var($var, FILTER_VALIDATE_EMAIL)); //  IP $var = '2001:471:1f11:251:290:27ff:fee0:2093'; //  IPv4? var_dump(filter_var($var, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)); // ,  IPv6? var_dump(filter_var($var, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6));
      
      






All Articles