1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 15:22:14 +01:00
Files
archived-doc-de/reference/filter/constants.xml
Martin Samesch d126bc8c09 Sync with EN
2024-12-09 22:24:06 +01:00

1255 lines
37 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3cb239e6e98fc2b7353fca4149f08902d08b8100 Maintainer: wiesemann Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: d83aa96e679c4e4d63390a41063469e51107c331 Reviewer: samesch -->
<appendix xml:id="filter.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants;
<variablelist>
<title>Konstanten für die Eingabe</title>
<simpara>
Diese Konstanten werden von
<function>filter_input</function> und
<function>filter_input_array</function>. verwendet.
</simpara>
<varlistentry xml:id="constant.input-post">
<term>
<constant>INPUT_POST</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.post">POST</link>-Variablen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.input-get">
<term>
<constant>INPUT_GET</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.get">GET</link>-Variablen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.input-cookie">
<term>
<constant>INPUT_COOKIE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.cookies">COOKIE</link>-Variablen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.input-env">
<term>
<constant>INPUT_ENV</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.environment">ENV</link>-Variablen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.input-server">
<term>
<constant>INPUT_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.server">SERVER</link>-Variablen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.input-session">
<term>
<constant>INPUT_SESSION</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.session">SESSION</link>-Variablen.
(Entfernt ab PHP 8.0.0; war vorher nicht implementiert)
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.input-request">
<term>
<constant>INPUT_REQUEST</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<link linkend="reserved.variables.request">REQUEST</link>-Variablen.
(Entfernt ab PHP 8.0.0; war vorher nicht implementiert)
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.flags.generic">
<title>Allgemeine Filter-Flags</title>
<varlistentry xml:id="constant.filter-flag-none">
<term>
<constant>FILTER_FLAG_NONE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Keine Flags.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-require-scalar">
<term>
<constant>FILTER_REQUIRE_SCALAR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Flag, das angibt, dass die Filtereingabe ein Skalar sein muss.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-require-array">
<term>
<constant>FILTER_REQUIRE_ARRAY</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Flag, das angibt, dass die Filtereingabe ein <type>Array</type> sein muss.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-force-array">
<term>
<constant>FILTER_FORCE_ARRAY</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Dieses Flag wandelt eine skalare Eingabe in ein <type>Array</type> mit
einem Element um; für Filter, die mit Arrays arbeiten.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-null-on-failure">
<term>
<constant>FILTER_NULL_ON_FAILURE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Bei Fehlern &null; anstelle von &false; verwenden.
</simpara>
<simpara>
Kann mit jedem
<constant>FILTER_VALIDATE_<replaceable>*</replaceable></constant>-Validierungsfilter
verwendet werden.
filter.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.flags.sanitization">
<title>Filter-Flags für die Bereinigung</title>
<varlistentry xml:id="constant.filter-flag-strip-low">
<term>
<constant>FILTER_FLAG_STRIP_LOW</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Zeichen mit einem ASCII-Wert kleiner 32 entfernen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-strip-high">
<term>
<constant>FILTER_FLAG_STRIP_HIGH</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Zeichen mit einem ASCII-Wert größer 127 entfernen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-strip-backtick">
<term>
<constant>FILTER_FLAG_STRIP_BACKTICK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Backtick-Zeichen (<literal>`</literal>) entfernen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-encode-low">
<term>
<constant>FILTER_FLAG_ENCODE_LOW</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Zeichen mit einem ASCII-Wert kleiner 32 kodieren.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-encode-high">
<term>
<constant>FILTER_FLAG_ENCODE_HIGH</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Zeichen mit einem ASCII-Wert größer 127 kodieren.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-encode-amp">
<term>
<constant>FILTER_FLAG_ENCODE_AMP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<literal>&amp;</literal> kodieren.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-no-encode-quotes">
<term>
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Einfache und doppelte Anführungszeichen (<literal>'</literal> und
<literal>"</literal>) nicht kodieren.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-empty-string-null">
<term>
<constant>FILTER_FLAG_EMPTY_STRING_NULL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Wenn die Bereinigung einer Zeichenkette zu einer leeren Zeichenkette
führt, den Wert in &null; umwandeln.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation">
<title>Filter für die Validierung</title>
<varlistentry xml:id="constant.filter-validate-bool">
<term>
<constant>FILTER_VALIDATE_BOOL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Gibt bei den Werten <literal>"1"</literal>,
<literal>"true"</literal>,
<literal>"on"</literal>
und <literal>"yes"</literal> &true; zurück.
</simpara>
<simpara>
Gibt bei den Werten <literal>"0"</literal>,
<literal>"false"</literal>,
<literal>"off"</literal>,
<literal>"no"</literal> und
<literal>""</literal> &false; zurück.
</simpara>
<simpara>
Der Rückgabewert für nicht-boolesche Werte hängt von
<constant>FILTER_NULL_ON_FAILURE</constant> ab. Wenn es gesetzt ist, wird
&null; zurückgegeben, andernfalls wird &false; zurückgegeben.
</simpara>
<variablelist xml:id="filter.constants.validation.bool.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<simpara>
Verfügbar seit PHP 8.0.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-boolean">
<term>
<constant>FILTER_VALIDATE_BOOLEAN</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>FILTER_VALIDATE_BOOL</constant>.
Der Alias war bereits vor der Einführung des kanonischen Namens in
PHP 8.0.0 verfügbar.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-int">
<term>
<constant>FILTER_VALIDATE_INT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Prüft, ob der Wert ein Integer ist und konvertiert im Erfolgsfall nach
<type>int</type>.
</simpara>
<note>
<simpara>
Bei Zeichenketten-Werte werden vor dem Vergleich führende und
nachfolgende Leerzeichen mittels <function>trim</function> entfernt.
</simpara>
</note>
<variablelist xml:id="filter.constants.validation.int.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>min_range</literal></term>
<listitem>
<simpara>
Der Wert ist nur gültig, wenn er größer oder gleich dem angegebenen
Wert ist.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>max_range</literal></term>
<listitem>
<simpara>
Der Wert ist nur gültig, wenn er kleiner oder gleich dem angegebenen
Wert ist.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation.int.flags">
<title>Optionale Flags</title>
<varlistentry xml:id="constant.filter-flag-allow-octal">
<term>
<constant>FILTER_FLAG_ALLOW_OCTAL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Integer in oktaler Schreibweise (<literal>0[0-7]+</literal>) zulassen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-allow-hex">
<term>
<constant>FILTER_FLAG_ALLOW_HEX</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Integer in hexadezimaler Schreibweise
(<literal>0x[0-9a-fA-F]+</literal>) zulassen.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-float">
<term>
<constant>FILTER_VALIDATE_FLOAT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Prüft, ob der Wert eine Gleitkommazahl ist und konvertiert im Erfolgsfall
nach <type>float</type>.
</simpara>
<note>
<simpara>
Bei Zeichenketten-Werte werden vor dem Vergleich führende und
nachfolgende Leerzeichen mittels <function>trim</function> entfernt.
</simpara>
</note>
<variablelist xml:id="filter.constants.validation.float.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>decimal</literal></term>
<listitem>
<simpara>
<!-- TODO -->
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>min_range</literal></term>
<listitem>
<simpara>
Der Wert ist nur gültig, wenn er größer oder gleich dem angegebenen
Wert ist.
Verfügbar seit PHP 7.4.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>max_range</literal></term>
<listitem>
<simpara>
Der Wert ist nur gültig, wenn er kleiner oder gleich dem angegebenen
Wert ist.
Verfügbar seit PHP 7.4.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation.float.flags">
<title>Optionale Flags</title>
<varlistentry>
<term>
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Kommas (<literal>,</literal>), die normalerweise das
Tausender-Trennzeichen darstellen, zulassen.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-regexp">
<term>
<constant>FILTER_VALIDATE_REGEXP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Prüft, ob der Wert auf den regulären Ausdruck passt, der mit der Option
<literal>regexp</literal> angegeben wurde.
</simpara>
<variablelist xml:id="filter.constants.validation.regex.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>regexp</literal></term>
<listitem>
<simpara>
<link linkend="book.pcre">Perl-kompatibler</link> regulärer Ausdruck.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-url">
<term>
<constant>FILTER_VALIDATE_URL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Prüft, ob der <acronym>URL</acronym>-Name gemäß
<link xlink:href="&url.rfc;2396">RFC 2396</link> gültig ist.
</simpara>
<variablelist xml:id="filter.constants.validation.url.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation.url.flags">
<title>Optionale Flags</title>
<varlistentry xml:id="constant.filter-flag-scheme-required">
<term>
<constant>FILTER_FLAG_SCHEME_REQUIRED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erfordert, dass die <acronym>URL</acronym> ein Schema enthält.
</simpara>
<warning>
<simpara>
<emphasis>DEPRECATED</emphasis> (veraltet) seit PHP 7.3.0 und
<emphasis>REMOVED</emphasis> (entfernt) seit PHP 8.0.0.
Das liegt daran, dass es immer durch den Filter
<constant>FILTER_VALIDATE_URL</constant> impliziert wird.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-host-required">
<term>
<constant>FILTER_FLAG_HOST_REQUIRED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erfordert, dass die <acronym>URL</acronym> einen Host enthält.
</simpara>
<warning>
<simpara>
<emphasis>DEPRECATED</emphasis> (veraltet) seit PHP 7.3.0 und
<emphasis>REMOVED</emphasis> (entfernt) seit PHP 8.0.0.
Das liegt daran, dass es immer durch den Filter
<constant>FILTER_VALIDATE_URL</constant> impliziert wird.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-path-required">
<term>
<constant>FILTER_FLAG_PATH_REQUIRED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erfordert, dass die <acronym>URL</acronym> einen Pfad enthält.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-query-required">
<term>
<constant>FILTER_FLAG_QUERY_REQUIRED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erfordert, dass die <acronym>URL</acronym> eine Anfrage enthält.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<warning>
<simpara>
Eine gültige URL gibt möglicherweise nicht das HTTP-Protokoll
(<literal>http://</literal>) an, weshalb eventuell eine weitere
Validierung erforderlich ist, um festzustellen, ob die URL ein erwartetes
Protokoll verwendet, &zb; <literal>ssh://</literal> oder
<literal>mailto:</literal>.
</simpara>
</warning>
<warning>
<simpara>
Dieser Filter funktioniert nur bei
<acronym>ASCII</acronym>-<acronym>URL</acronym>s.
Das bedeutet, dass internationalisierte Domain-Namen (IDN) immer
abgelehnt werden.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-domain">
<term>
<constant>FILTER_VALIDATE_DOMAIN</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Prüft, ob der Name der Domain gemäß
<link xlink:href="&url.rfc;952">RFC 952</link>,
<link xlink:href="&url.rfc;1034">RFC 1034</link>,
<link xlink:href="&url.rfc;1035">RFC 1035</link>,
<link xlink:href="&url.rfc;1034">RFC 1123</link>,
<link xlink:href="&url.rfc;1034">RFC 2732</link>
und
<link xlink:href="&url.rfc;2181">RFC 2181</link> gültig ist.
</simpara>
<variablelist xml:id="filter.constants.validation.domain.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation.domain.flags">
<title>Optionale Flags</title>
<varlistentry xml:id="constant.filter-flag-hostname">
<term>
<constant>FILTER_FLAG_HOSTNAME</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erfordert, dass Hostnamen mit einem alphanumerischen Zeichen beginnen
und nur alphanumerische Zeichen und Bindestriche enthalten.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-email">
<term>
<constant>FILTER_VALIDATE_EMAIL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Prüft, ob der Wert eine "gültige" E-Mail-Adresse ist.
</simpara>
<simpara>
Die Überprüfung erfolgt gemäß der <literal>addr-spec</literal>-Syntax in
<link xlink:href="&url.rfc;822">RFC 822</link>.
Kommentare, Whitespace-Folding und punktlose Domänennamen werden jedoch
nicht unterstützt und daher zurückgewiesen.
</simpara>
<variablelist xml:id="filter.constants.validation.email.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation.email.flags">
<title>Optionale Flags</title>
<varlistentry xml:id="constant.filter-flag-email-unicode">
<term>
<constant>FILTER_FLAG_EMAIL_UNICODE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Akzeptiert Unicode-Zeichen im lokalen Teil.
Verfügbar seit PHP 7.1.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<warning>
<simpara>
Die E-Mail-Validierung ist komplex, und die einzige Möglichkeit, die
Gültigkeit und Existenz einer E-Mail zu bestätigen, besteht darin, eine
E-Mail an die Adresse zu senden.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-ip">
<term>
<constant>FILTER_VALIDATE_IP</constant>
(<type>int</type>)
</term>
<listitem>
<para>
Prüft, ob der Wert eine IP-Adresse ist.
</para>
<variablelist xml:id="filter.constants.validation.ip.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.validation.ip.flags">
<title>Optionale Flags</title>
<varlistentry xml:id="constant.filter-flag-ipv4">
<term>
<constant>FILTER_FLAG_IPV4</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
IPv4-Adresse zulassen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-ipv6">
<term>
<constant>FILTER_FLAG_IPV6</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
IPv6-Adresse zulassen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-no-res-range">
<term>
<constant>FILTER_FLAG_NO_RES_RANGE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Reservierte Adressen ablehnen.
</simpara>
<simpara>
Dies sind die Bereiche, die in
<link xlink:href="&url.rfc;6890">RFC 6890</link> als
<literal>Reserved-By-Protocol</literal> (reserviert durch das Protokoll)
gekennzeichnet sind.
</simpara>
<para>
Dies entspricht bei IPv4 den folgenden Bereichen:
<simplelist type="inline">
<member><literal>0.0.0.0/8</literal></member>
<member><literal>169.254.0.0/16</literal></member>
<member><literal>127.0.0.0/8</literal></member>
<member><literal>240.0.0.0/4</literal></member>
</simplelist>.
</para>
<para>
Und für IPv6 entspricht dies den folgenden Bereichen:
<simplelist type="inline">
<member><literal>::1/128</literal></member>
<member><literal>::/128</literal></member>
<member><literal>::FFFF:0:0/96</literal></member>
<member><literal>FE80::/10</literal></member>
</simplelist>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-no-priv-range">
<term>
<constant>FILTER_FLAG_NO_PRIV_RANGE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Private Adressen ablehnen.
</simpara>
<para>
Dabei handelt es sich um IPv4-Adressen in folgenden Bereichen:
<simplelist type="inline">
<member><literal>10.0.0.0/8</literal></member>
<member><literal>172.16.0.0/12</literal></member>
<member><literal>192.168.0.0/16</literal></member>
</simplelist>.
</para>
<simpara>
Das sind die IPv6-Adressen, die mit <literal>FD</literal> oder
<literal>FC</literal> beginnen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-global-range">
<term>
<constant>FILTER_FLAG_GLOBAL_RANGE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Nur globale Adressen zulassen.
Diese sind in <link xlink:href="&url.rfc;6890">RFC 6890</link> zu
finden, wo das <literal>Global</literal>-Attribut
<literal>True</literal> ist.
Verfügbar seit PHP 8.2.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-validate-mac">
<term>
<constant>FILTER_VALIDATE_MAC</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
ID des "validate_mac_address"-Filters.
</simpara>
<variablelist xml:id="filter.constants.validation.mac.options">
<title>Verfügbare Optionen</title>
<varlistentry>
<term><literal>default</literal></term>
<listitem>
<simpara>
Der Wert, der zurückgegeben werden soll, wenn der Filter fehlschlägt.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
<variablelist xml:id="filter.constants.sanitization">
<title>Filter für die Bereinigung</title>
<varlistentry xml:id="constant.filter-unsafe-raw">
<term>
<constant>FILTER_UNSAFE_RAW</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Dieser Filter bewirkt nichts.
</simpara>
<simpara>
Er kann jedoch Sonderzeichen entfernen oder kodieren, wenn er zusammen mit
den Flags
<constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant> und
<constant>FILTER_FLAG_ENCODE_<replaceable>*</replaceable></constant> für
die Bereinigungsfilter verwendet wird.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-default">
<term>
<constant>FILTER_DEFAULT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>FILTER_UNSAFE_RAW</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-string">
<term>
<constant>FILTER_SANITIZE_STRING</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Mit diesem Filter werden Tags entfernt und doppelte und einfache
Anführungszeichen HTML-kodiert.
</simpara>
<simpara>
Optional kann er bestimmte Zeichen entfernen oder kodieren, wenn er
zusammen mit den
<constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>- und
<constant>FILTER_FLAG_ENCODE_<replaceable>*</replaceable></constant>-Flags
für die Bereinigungsfilter verwendet wird.
</simpara>
<simpara>
Die Kodierung von Anführungszeichen kann mit dem Filterflag
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant> deaktiviert werden.
</simpara>
<warning>
<simpara>
Seit PHP 8.1.0 <emphasis>veraltet</emphasis>; stattdessen sollte
<function>htmlspecialchars</function> verwendet werden.
</simpara>
</warning>
<warning>
<simpara>
Die Art und Weise, wie dieser Filter Tags entfernt, entspricht nicht der
Funktion <function>strip_tags</function>.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-stripped">
<term>
<constant>FILTER_SANITIZE_STRIPPED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>FILTER_SANITIZE_STRING</constant>.
</simpara>
<warning>
<simpara>
Seit PHP 8.1.0 <emphasis>veraltet</emphasis>; stattdessen sollte
<function>htmlspecialchars</function> verwendet werden.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-encoded">
<term>
<constant>FILTER_SANITIZE_ENCODED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Mit diesem Filter wird eine Zeichenkette URL-kodiert.
</simpara>
<simpara>
Optional kann er bestimmte Zeichen entfernen oder kodieren, wenn er
zusammen mit den
<constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>- und
<constant>FILTER_FLAG_ENCODE_<replaceable>*</replaceable></constant>-Flags
für die Bereinigungsfilter verwendet wird.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-special-chars">
<term>
<constant>FILTER_SANITIZE_SPECIAL_CHARS</constant>
(<type>int</type>)
</term>
<listitem>
<para>
Mit diesem Filter werden
<simplelist type="inline">
<member><literal>'</literal></member>
<member><literal>"</literal></member>
<member><literal>&lt;</literal></member>
<member><literal>&gt;</literal></member>
<member><literal>&amp;</literal></member>
</simplelist>
und Zeichen mit einem ASCII-Wert kleiner als 32 HTML-kodiert.
</para>
<simpara>
Optional kann er bestimmte Zeichen entfernen, wenn er zusammen mit den
<constant>FILTER_FLAG_STRIP_<replaceable>*</replaceable></constant>-Flags
für die Bereinigungsfilter verwendet wird, und mit Hilfe von
<constant>FILTER_FLAG_ENCODE_HIGH</constant> kann er Zeichen mit einem
ASCII-Wert größer als 127 kodieren.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-full-special-chars">
<term>
<constant>FILTER_SANITIZE_FULL_SPECIAL_CHARS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Dieser Filter entspricht dem Aufruf von
<function>htmlspecialchars</function> mit der Konstante
<constant>ENT_QUOTES</constant>.
</simpara>
<simpara>
Die Kodierung von Anführungszeichen kann mit dem Filterflag
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant> deaktiviert werden.
</simpara>
<warning>
<simpara>
Wie <function>htmlspecialchars</function> berücksichtigt auch dieser
Filter die INI-Einstellung
<link linkend="ini.default-charset">default_charset</link>.
Wird eine Bytefolge erkannt, die ein für den aktuellen Zeichensatz
ungültiges Zeichen enthält, wird die gesamte Zeichenkette verworfen und
eine leere Zeichenkette zurückgegeben.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-email">
<term>
<constant>FILTER_SANITIZE_EMAIL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Die Zeichenkette bereinigen durch Entfernen aller Zeichen außer
lateinischen Buchstaben (<literal>[a-zA-Z]</literal>), Ziffern
(<literal>[0-9]</literal>) und den Sonderzeichen
<literal>!#$%&amp;'*+-=?^_`{|}~@.[]</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-url">
<term>
<constant>FILTER_SANITIZE_URL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Die Zeichenkette bereinigen durch Entfernen aller Zeichen außer
lateinischen Buchstaben (<literal>[a-zA-Z]</literal>), Ziffern
(<literal>[0-9]</literal>) und den Sonderzeichen
<literal>$-_.+!*'(),{}|\\^~[]`&lt;&gt;#%";/?:@&amp;=</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-number-int">
<term>
<constant>FILTER_SANITIZE_NUMBER_INT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Die Zeichenkette bereinigen durch Entfernen aller Zeichen außer Ziffern
(<literal>[0-9]</literal>), Plus- (<literal>+</literal>) und Minuszeichen
(<literal>-</literal>).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-number-float">
<term>
<constant>FILTER_SANITIZE_NUMBER_FLOAT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Die Zeichenkette bereinigen durch Entfernen aller Zeichen außer Ziffern
(<literal>[0-9]</literal>), Plus- (<literal>+</literal>) und Minuszeichen
(<literal>-</literal>).
</simpara>
<variablelist xml:id="filter.constants.sanitization.float.flags">
<title>Optional Flags</title>
<varlistentry xml:id="constant.filter-flag-allow-fraction">
<term>
<constant>FILTER_FLAG_ALLOW_FRACTION</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Das Punkt-Zeichen (<literal>.</literal>), das normalerweise das
Trennzeichen zwischen dem ganzzahligen und dem gebrochenen Teil
darstellt, zulassen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-allow-thousand">
<term>
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Kommas (<literal>.</literal>), die normalerweise das
Trennzeichen zwischen dem ganzzahligen und dem gebrochenen Teil
darstellen, zulassen.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-flag-allow-scientific">
<term>
<constant>FILTER_FLAG_ALLOW_SCIENTIFIC</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Zahlen in wissenschaftlicher Notation akzeptieren, indem die Zeichen
<literal>e</literal> und <literal>E</literal> zugelassen werden.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<warning>
<simpara>
Wenn das Flag <constant>FILTER_FLAG_ALLOW_FRACTION</constant> nicht
verwendet wird, wird das Dezimaltrennzeichen entfernt, wodurch sich der
empfangene Wert ändert.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$number = '12.34';
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT));
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(4) "1234"
string(5) "12.34"
]]>
</screen>
</informalexample>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-add-slashes">
<term>
<constant>FILTER_SANITIZE_ADD_SLASHES</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<function>addslashes</function> auf die Eingabe anwenden.
Verfügbar seit PHP 7.3.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.filter-sanitize-magic-quotes">
<term>
<constant>FILTER_SANITIZE_MAGIC_QUOTES</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>FILTER_SANITIZE_ADD_SLASHES</constant>.
</simpara>
<warning>
<simpara>
<emphasis>DEPRECATED</emphasis> (veraltet) seit PHP 7.3.0 und
<emphasis>REMOVED</emphasis> (entfernt) seit PHP 8.0.0.
</simpara>
</warning>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Benutzerdefinierter Filter</title>
<varlistentry xml:id="constant.filter-callback">
<term>
<constant>FILTER_CALLBACK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Dieser Filter delegiert die Filterung an eine benutzerdefinierte Funktion.
Das <type>Callable</type> wird über den Parameter
<parameter>options</parameter> als Wert für den Schlüssel
<literal>'options'</literal> übergeben.
</simpara>
<para>
Der Callback sollte die folgende Signatur haben:
<methodsynopsis>
<type>mixed</type><methodname><replaceable>callback</replaceable></methodname>
<methodparam><type>string</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<variablelist role="function_parameters">
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<simpara>
Der zu filternde Wert.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<note>
<simpara>
Der Rückgabewert des Callbacks entspricht dem Rückgabewert der
aufgerufenen Filterfunktion.
</simpara>
</note>
<example>
<title>
Beispiel für die Verwendung von <constant>FILTER_CALLBACK</constant> zur
Validierung eines Anmeldenamens
</title>
<programlisting role="php">
<![CDATA[
<?php
function validate_login($value): ?string
{
if (strlen($value) >= 5 && ctype_alnum($value)) {
return $value;
}
return null;
}
$login = "val1dL0gin";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
$login = "f&ke login";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(10) "val1dL0gin"
NULL
]]>
</screen>
</example>
<warning>
<simpara>
Dieser Filter ist nicht mit anderen Flags kombinierbar, &zb;
<constant>FILTER_NULL_ON_FAILURE</constant>.
</simpara>
</warning>
</listitem>
</varlistentry>
</variablelist>
</appendix>
<!-- 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
-->