php-doc-en/reference/filter/reference.xml

284 lines
9.1 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.14 $ -->
<!-- Purpose: basic.vartype -->
<!-- Membership: pecl -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<reference xml:id="ref.filter" xmlns="http://docbook.org/ns/docbook">
<title>Filter Functions</title>
<titleabbrev>Filter</titleabbrev>
<partintro>
<section xml:id="filter.intro">
&reftitle.intro;
<para>
This extension serves to validate and filter data coming from some insecure
source, such as user input.
</para>
<para>
The following filters currently exist; be sure to read the
<link linkend="filter.constants">Filter Constants</link> section
for information that describes the behavior of each constant:
<table>
<title>Existing filters</title>
<tgroup cols="5">
<thead>
<row>
<entry>ID</entry>
<entry>Name</entry>
<entry>Options</entry>
<entry>Flags</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>FILTER_VALIDATE_INT</constant></entry>
<entry>"int"</entry>
<entry>
<parameter>min_range</parameter>,
<parameter>max_range</parameter>
</entry>
<entry>
<constant>FILTER_FLAG_ALLOW_OCTAL</constant>,
<constant>FILTER_FLAG_ALLOW_HEX</constant>
</entry>
<entry>Validates value as integer, optionally from the specified range.</entry>
</row>
<row>
<entry><constant>FILTER_VALIDATE_BOOLEAN</constant></entry>
<entry>"boolean"</entry>
<entry></entry>
<entry>
<constant>FILTER_NULL_ON_FAILURE</constant>
</entry>
<entry>
<para>
Returns &true; for "1", "true", "on" and "yes".
Returns &false; otherwise.
</para>
<para>
If <constant>FILTER_NULL_ON_FAILURE</constant> is set, &false; is
returned only for "0", "false", "off", "no", and "", and
&null; is returned for all non-boolean values.
</para>
</entry>
</row>
<row>
<entry><constant>FILTER_VALIDATE_FLOAT</constant></entry>
<entry>"float"</entry>
<entry>
<parameter>decimal</parameter>
</entry>
<entry>
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>
</entry>
<entry>Validates value as float.</entry>
</row>
<row>
<entry><constant>FILTER_VALIDATE_REGEXP</constant></entry>
<entry>"validate_regexp"</entry>
<entry>
<parameter>regexp</parameter>
</entry>
<entry></entry>
<entry>
Validates value against <parameter>regexp</parameter>, a
<link linkend="ref.pcre">Perl-compatible</link> regular expression.
</entry>
</row>
<row>
<entry><constant>FILTER_VALIDATE_URL</constant></entry>
<entry>"validate_url"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_PATH_REQUIRED</constant>,
<constant>FILTER_FLAG_QUERY_REQUIRED</constant>
</entry>
<entry>Validates value as URL, optionally with required components.</entry>
</row>
<row>
<entry><constant>FILTER_VALIDATE_EMAIL</constant></entry>
<entry>"validate_email"</entry>
<entry></entry>
<entry></entry>
<entry>Validates value as e-mail.</entry>
</row>
<row>
<entry><constant>FILTER_VALIDATE_IP</constant></entry>
<entry>"validate_ip"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_IPV4</constant>,
<constant>FILTER_FLAG_IPV6</constant>,
<constant>FILTER_FLAG_NO_PRIV_RANGE</constant>,
<constant>FILTER_FLAG_NO_RES_RANGE</constant>
</entry>
<entry>
Validates value as IP address, optionally only IPv4 or IPv6 or not
from private or reserved ranges.
</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_STRING</constant></entry>
<entry>"string"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>,
<constant>FILTER_FLAG_STRIP_LOW</constant>,
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
<constant>FILTER_FLAG_ENCODE_LOW</constant>,
<constant>FILTER_FLAG_ENCODE_HIGH</constant>,
<constant>FILTER_FLAG_ENCODE_AMP</constant>
</entry>
<entry>Strip tags, optionally strip or encode special characters.</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_STRIPPED</constant></entry>
<entry>"stripped"</entry>
<entry></entry>
<entry></entry>
<entry>Alias of "string" filter.</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_ENCODED</constant></entry>
<entry>"encoded"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_STRIP_LOW</constant>,
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
<constant>FILTER_FLAG_ENCODE_LOW</constant>,
<constant>FILTER_FLAG_ENCODE_HIGH</constant>
</entry>
<entry>URL-encode string, optionally strip or encode special characters.</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_SPECIAL_CHARS</constant></entry>
<entry>"special_chars"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_STRIP_LOW</constant>,
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
<constant>FILTER_FLAG_ENCODE_HIGH</constant>
</entry>
<entry>
HTML-escape <literal>'"&lt;&gt;&amp;</literal> and characters with
ASCII value less than 32, optionally strip or encode other special
characters.
</entry>
</row>
<row>
<entry><constant>FILTER_UNSAFE_RAW</constant></entry>
<entry>"unsafe_raw"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_STRIP_LOW</constant>,
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
<constant>FILTER_FLAG_ENCODE_LOW</constant>,
<constant>FILTER_FLAG_ENCODE_HIGH</constant>,
<constant>FILTER_FLAG_ENCODE_AMP</constant>
</entry>
<entry>Do nothing, optionally strip or encode special characters.</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_EMAIL</constant></entry>
<entry>"email"</entry>
<entry></entry>
<entry></entry>
<entry>
Remove all characters except letters, digits and
<literal>!#$%&amp;'*+-/=?^_`{|}~@.[]</literal>.
</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_URL</constant></entry>
<entry>"url"</entry>
<entry></entry>
<entry></entry>
<entry>
Remove all characters except letters, digits and
<literal>$-_.+!*'(),{}|\\^~[]`&lt;&gt;#%";/?:@&amp;=</literal>.
</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_NUMBER_INT</constant></entry>
<entry>"number_int"</entry>
<entry></entry>
<entry></entry>
<entry>
Remove all characters except digits, plus and minus sign.
</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_NUMBER_FLOAT</constant></entry>
<entry>"number_float"</entry>
<entry></entry>
<entry>
<constant>FILTER_FLAG_ALLOW_FRACTION</constant>,
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>,
<constant>FILTER_FLAG_ALLOW_SCIENTIFIC</constant>
</entry>
<entry>
Remove all characters except digits, <literal>+-</literal> and
optionally <literal>.,eE</literal>.
</entry>
</row>
<row>
<entry><constant>FILTER_SANITIZE_MAGIC_QUOTES</constant></entry>
<entry>"magic_quotes"</entry>
<entry></entry>
<entry></entry>
<entry>Apply <function>addslashes</function>.</entry>
</row>
<row>
<entry><constant>FILTER_CALLBACK</constant></entry>
<entry>"callback"</entry>
<entry><type>callback</type> function or method</entry>
<entry></entry>
<entry>Call user-defined function to filter data.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</section>
<section xml:id="filter.requirements">
&reftitle.required;
&no.requirement;
</section>
&reference.filter.configure;
&reference.filter.ini;
<section xml:id="filter.resources">
&reftitle.resources;
&no.resource;
</section>
&reference.filter.constants;
</partintro>
&reference.filter.entities.functions;
</reference>
<!-- 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:"../../../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
-->