<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.vartype.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'book.filter.php',
    1 => 'フィルタ',
    2 => 'データのフィルタリング',
  ),
  'up' => 
  array (
    0 => 'refs.basic.vartype.php',
    1 => '変数・データ型関連',
  ),
  'prev' => 
  array (
    0 => 'function.ctype-xdigit.php',
    1 => 'ctype_xdigit',
  ),
  'next' => 
  array (
    0 => 'filter.setup.php',
    1 => 'インストール/設定',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/filter/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.filter.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.filter" class="book">
 
 <h1 class="title">データのフィルタリング</h1>
 

 <div id="intro.filter" class="preface">
  <h1 class="title">はじめに</h1>
  <p class="simpara">
   この拡張モジュールは、データの検証や除去を行います。
   未知の (外部からの) データ、たとえばユーザーの入力などを扱う際に便利です。
   <abbr title="Hyper Text Markup Language">HTML</abbr> フォームから送られてくるデータなどがこれにあたります。
  </p>
  <p class="simpara">
   フィルタリングの方式には、大きく分けて
   <em>検証 (validation)</em> と <em>除去 (sanitization)</em>
   のふたつがあります。
  </p>
  <p class="simpara">
   検証フィルタは、
   データが何らかの条件を満たしているかどうかをチェックします。
   検証フィルタは、
   <strong><code><a href="filter.constants.php#constant.filter-validate-bool">FILTER_VALIDATE_<span class="replaceable">*</span></a></code></strong>
   定数によって識別できます。
   たとえば <strong><code><a href="filter.constants.php#constant.filter-validate-email">FILTER_VALIDATE_EMAIL</a></code></strong> を渡すと、
   データがメールアドレスとして正しい形式かどうかを調べます。
   データ自体には何も手を加えません。
  </p>
  <p class="simpara">
   一方除去フィルタは、データを&quot;綺麗に&quot;します。
   よって、入力データに文字を追加/削除することでデータを変更します。
   除去フィルタは、
   <strong><code><a href="filter.constants.php#constant.filter-sanitize-string">FILTER_SANITIZE_<span class="replaceable">*</span></a></code></strong>
   定数によって識別できます。
   たとえば <strong><code><a href="filter.constants.php#constant.filter-sanitize-email">FILTER_SANITIZE_EMAIL</a></code></strong> を渡すと、
   メールアドレスとして無効な文字が含まれている場合にそれを除去します。
   しかし、除去済みのデータ自体が、
   正しいメールアドレスの形式かどうかを調べるわけではありません。
  </p>
  <p class="simpara">
   ほとんどのフィルタには、
   オプションの <em>フラグ</em> があり、
   その振る舞いを細かく調整できるようになっています。
   こうしたフラグは、
   <strong><code><a href="filter.constants.php#constant.filter-flag-none">FILTER_FLAG_<span class="replaceable">*</span></a></code></strong>
   定数によって識別できます。
   たとえば、検証フィルタ <strong><code><a href="filter.constants.php#constant.filter-validate-url">FILTER_VALIDATE_URL</a></code></strong> 
   と一緒に <strong><code><a href="filter.constants.php#constant.filter-flag-path-required">FILTER_FLAG_PATH_REQUIRED</a></code></strong>
   を使うと、<abbr title="Uniform Resource Locator">URL</abbr> に特定のパス
   (<code class="literal">http://example.org/foo</code> における
   <code class="literal">/foo</code> など) を必須とすることができます。
  </p>
 </div>

 








 








 






 









<ul class="chunklist chunklist_book"><li><a href="filter.setup.php">インストール/設定</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="filter.installation.php">インストール手順</a></li><li><a href="filter.configuration.php">実行時設定</a></li></ul></li><li><a href="filter.constants.php">定義済み定数</a></li><li><a href="filter.examples.php">例</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="filter.examples.validation.php">検証</a></li><li><a href="filter.examples.sanitization.php">除去</a></li></ul></li><li><a href="ref.filter.php">Filter 関数</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.filter-has-var.php">filter_has_var</a> — 指定した型の変数が存在するかどうかを調べる</li><li><a href="function.filter-id.php">filter_id</a> — フィルタの名前からフィルタ ID を返す</li><li><a href="function.filter-input.php">filter_input</a> — 指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする</li><li><a href="function.filter-input-array.php">filter_input_array</a> — 外部から変数を受け取り、オプションでそれらをフィルタリングする</li><li><a href="function.filter-list.php">filter_list</a> — サポートされるフィルタの一覧を返す</li><li><a href="function.filter-var.php">filter_var</a> — 指定したフィルタでデータをフィルタリングする</li><li><a href="function.filter-var-array.php">filter_var_array</a> — 複数の変数を受け取り、オプションでそれらをフィルタリングする</li></ul></li></ul></div><?php manual_footer($setup); ?>