mirror of
https://github.com/php/doc-en.git
synced 2026-03-23 23:32:18 +01:00
80 lines
2.7 KiB
XML
80 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<book xml:id="book.filter" xmlns="http://docbook.org/ns/docbook">
|
|
<?phpdoc extension-membership="bundled" ?>
|
|
<title>Data Filtering</title>
|
|
<titleabbrev>Filter</titleabbrev>
|
|
|
|
<preface xml:id="intro.filter">
|
|
&reftitle.intro;
|
|
<simpara>
|
|
This extension provides filters which can be used to validate or sanitize data.
|
|
This is especially useful when the data source contains unknown (or foreign) data,
|
|
like user supplied input.
|
|
For example, this data may come from an <acronym>HTML</acronym> form.
|
|
</simpara>
|
|
<simpara>
|
|
There are two main types of filtering:
|
|
<emphasis>validation</emphasis> and <emphasis>sanitization</emphasis>.
|
|
</simpara>
|
|
<simpara>
|
|
A validation filter is used to check if the data meets certain criteria.
|
|
These filters are identified by the
|
|
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>
|
|
constants.
|
|
For example, the <constant>FILTER_VALIDATE_EMAIL</constant> filter
|
|
can be used to determine if the data is a valid email address.
|
|
However, it will never alter the input data.
|
|
</simpara>
|
|
<simpara>
|
|
Sanitization on the other hand will "clean up" the data,
|
|
therefore it may alter the input data by adding or removing characters.
|
|
These filters are identified by the
|
|
<constant>FILTER_SANITIZE_<replaceable>*</replaceable></constant>
|
|
constants.
|
|
For example, the <constant>FILTER_SANITIZE_EMAIL</constant> filter will
|
|
remove characters that are inappropriate for an email address to contain.
|
|
However, the sanitized data is not validated to check if it is a valid
|
|
email address.
|
|
</simpara>
|
|
<simpara>
|
|
Most filters support optional <emphasis>flags</emphasis> that can tweak
|
|
the behavior of the filter.
|
|
These flags are identified by the
|
|
<constant>FILTER_FLAG_<replaceable>*</replaceable></constant>
|
|
constants.
|
|
For example, using the <constant>FILTER_FLAG_PATH_REQUIRED</constant> with
|
|
the <constant>FILTER_VALIDATE_URL</constant> validation filter
|
|
requires that the <acronym>URL</acronym> has a path
|
|
(e.g. <literal>/foo</literal> in <literal>https://example.org/foo</literal>).
|
|
</simpara>
|
|
</preface>
|
|
|
|
&reference.filter.setup;
|
|
&reference.filter.constants;
|
|
&reference.filter.examples;
|
|
&reference.filter.reference;
|
|
|
|
</book>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|
|
|