samesch Sun Dec 16 07:45:45 2001 EDT Modified files: /phpdoc/de/functions regex.xml Log: Syncing with english rev. 1.34
Index: phpdoc/de/functions/regex.xml diff -u phpdoc/de/functions/regex.xml:1.21 phpdoc/de/functions/regex.xml:1.22 --- phpdoc/de/functions/regex.xml:1.21 Wed Dec 12 15:46:17 2001 +++ phpdoc/de/functions/regex.xml Sun Dec 16 07:45:45 2001 @@ -1,9 +1,26 @@ -<?xml version="1.0" encoding="iso-8859-1"?> + <?xml version="1.0" encoding="iso-8859-1"?> <reference id="ref.regex"> <title>Reguläre Ausdrücke Funktionen (POSIX erweitert)</title> <titleabbrev>Regexps</titleabbrev> <partintro> + <note> + <para> + Bei Verwendung der <link linkend="ref.pcre">PCRE + Funktionen</link> unterstützt PHP auch Reguläre Ausdrücke mit + einer zu Perl kompatiblen Syntax. Diese Funktionen unterstützen + non-greedy Matching, Assertions, bedingte Subpatterns und viele + andere Merkmale, die von der POSIX-erweiterten Syntax regulärer + Ausdrücke nicht unterstützt werden. + </para> + </note> + <warning> + <para> + Diese Funktionen regulärer Ausdrücke sind im Gegensatz zu den + <link linkend="ref.pcre">PCRE Funktionen</link> nicht + binary-safe. + </para> + </warning> <para> Reguläre Ausdrücke werden für komplexe Manipulationen an Zeichenketten mit PHP verwendet. Folgende Funktionen unterstützen @@ -35,24 +52,22 @@ PHP-Distribution in den Regex man pages. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art <command> man /usr/local/src/regex/regex.7</command> verwenden, um sie zu lesen. - - <!-- Should add discussion of PCRE functions here. --> - </para> <para> <example> <title>Beispiele regulärer Ausdrücke</title> <programlisting role="php"> -ereg ("abc", $string); -/* Gibt true zurück, falls "abc" +<![CDATA[ +ereg ("abc", $string); +/* Gibt true zurück, falls "abc" irgendwo in $string gefunden wird. */ -ereg ("^abc", $string); -/* Gibt true zurück, falls "abc" +ereg ("^abc", $string); +/* Gibt true zurück, falls "abc" am Anfang von $string gefunden wird. */ ereg ("abc$", $string); -/* Gibt true zurück, falls "abc" +/* Gibt true zurück, falls "abc" am Ende von $string gefunden wird. */ eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT); @@ -63,14 +78,15 @@ /* Setzt drei Wörter, die durch Leerzeichen getrennt sind, in $regs[1], $regs[2] und $regs[3] ein. */ -$string = ereg_replace ("^", "<BR>", $string); -/* Setzt ein <BR> Tag vor $string. */ - -$string = ereg_replace ("$", "<BR>", $string); -/* Setzt ein <BR> Tag hinter $string. */ +$string = ereg_replace ("^", "<br />", $string); +/* Setzt ein <br /> Tag vor $string. */ + +$string = ereg_replace ("$", "<br />", $string); +/* Setzt ein <br /> Tag hinter $string. */ $string = ereg_replace ("\n", "", $string); /* Entfernt alle Zeilenumbrüche aus $string. */ +]]> </programlisting> </example> </para> @@ -85,16 +101,27 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ereg</function></funcdef> - <paramdef>string <parameter>Suchmuster</parameter></paramdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - <paramdef>array - <parameter><optional>regs</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>int</type><methodname>ereg</methodname> + <methodparam> + <type>string</type><parameter>Suchmuster</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + <methodparam choice="opt"> + <type>array</type><parameter>regs</parameter> + </methodparam> + </methodsynopsis> + + <note> + <para> + Die Funktion <function>preg_match</function>, die eine zu Perl + kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die + schnellere Alternative zu <function>ereg</function>. + </para> + </note> <simpara> Sucht in <parameter>Zeichenkette</parameter> nach Übereinstimmungen mit dem regulären Ausdruck, der in @@ -107,17 +134,18 @@ aufgerufen wurde, werden die Übereinstimmungen in den Elementen des Arrays <parameter>regs</parameter> gespeichert. $regs[1] enthält dann die Teilzeichenkette der ersten Klammer, $regs[2] - die Teilzeichenkette der zweiten usw. $regs[0] enthält eine Kopie - von <parameter>Zeichenkette</parameter>. + die Teilzeichenkette der zweiten usw. $regs[0] enthält bei + Übereinstimmung mit <parameter>Zeichenkette</parameter> eine + Kopie der kompletten <parameter>Zeichenkette</parameter>. </simpara> <simpara> - Wenn <function>ereg</function> irgendwelche Übereinstimmungen - findet, wird $regs mit genau zehn Elementen gefüllt, auch wenn es - tatsächlich mehr oder weniger Übereinstimmungen mit den - eingeklammerten Teilzeichenketten gibt. Dies wirkt sich aber - nicht auf <function>ereg</function>s Fähigkeit aus, mehr - übereinstimmende Teilzeichenketten zu finden. Falls keine - Übereinstimmungen gefunden werden, wird $regs nicht von + Bis (und inklusive) PHP 4.1.0 wird <literal>$regs</literal> mit + genau zehn Elementen gefüllt, auch wenn es tatsächlich mehr oder + weniger Übereinstimmungen mit den eingeklammerten + Teilzeichenketten gibt. Dies wirkt sich aber nicht auf + <function>ereg</function>s Fähigkeit aus, mehr übereinstimmende + Teilzeichenketten zu finden. Falls keine Übereinstimmungen + gefunden werden, wird <literal>$regs</literal> nicht von <function>ereg</function> verändert. </simpara> <simpara> @@ -135,18 +163,21 @@ <example> <title><function>ereg</function> Beispiel</title> <programlisting role="php"> +<![CDATA[ if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) { echo "$regs[3].$regs[2].$regs[1]"; } else { echo "Ungültiges Datumsformat: $date"; } +]]> </programlisting> </example> </para> <simpara> Siehe auch: <function>eregi</function>, - <function>ereg_replace</function> und - <function>eregi_replace</function>. + <function>ereg_replace</function>, + <function>eregi_replace</function> und + <function>preg_match</function>. </simpara> </refsect1> </refentry> @@ -158,14 +189,27 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ereg_replace</function></funcdef> - <paramdef>string <parameter>Suchmuster</parameter></paramdef> - <paramdef>string <parameter>Ersatz</parameter></paramdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>string</type><methodname>ereg_replace</methodname> + <methodparam> + <type>string</type><parameter>Suchmuster</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Ersatz</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + </methodsynopsis> + + <note> + <para> + Die Funktion <function>preg_replace</function>, die eine zu Perl + kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die + schnellere Alternative zu <function>ereg_replace</function>. + </para> + </note> <simpara> Diese Funktion durchsucht <parameter>Zeichenkette</parameter> nach Übereinstimmungen mit <parameter>Suchmuster</parameter> und @@ -199,10 +243,12 @@ <example> <title><function>ereg_replace</function> Beispiel</title> <programlisting> +<![CDATA[ $string = "Das ist ein Test"; echo ereg_replace (" ist", " war", $string); echo ereg_replace ("( )ist", "\\1war", $string); echo ereg_replace ("(( )ist)", "\\2war", $string); +]]> </programlisting> </example> </para> @@ -216,7 +262,8 @@ <example> <title><function>ereg_replace</function> Beispiel</title> <programlisting> -<?php +<![CDATA[ +<?php /* Dieses funktioniert nicht wie erwartet. */ $zahl = 4; $zeichenkette = "Diese Zeichenkette hat vier Wörter."; @@ -229,12 +276,25 @@ $zeichenkette = ereg_replace('vier', $zahl, $zeichenkette); echo $zeichenkette; /* Output: 'Diese Zeichenkette hat 4 Wörter.' */ ?> +]]> + </programlisting> + </example> + </para> + <para> + <example> + <title>Replace URLs with links</title> + <programlisting role="php"> +<![CDATA[ +$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", + "<a href=\"\\0\">\\0</a>", $text); +]]> </programlisting> </example> </para> <simpara> - Siehe auch: <function>ereg</function>, <function>eregi</function> - und <function>eregi_replace</function>. + Siehe auch: <function>ereg</function>, + <function>eregi</function>, <function>eregi_replace</function> + und <function>preg_match</function>. </simpara> </refsect1> </refentry> @@ -249,20 +309,34 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>eregi</function></funcdef> - <paramdef>string <parameter>Suchmuster</parameter></paramdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - <paramdef>array - <parameter><optional>regs</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>int</type><methodname>eregi</methodname> + <methodparam> + <type>string</type><parameter>Suchmuster</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + <methodparam choice="opt"> + <type>array</type><parameter>regs</parameter> + </methodparam> + </methodsynopsis> + <para> Diese Funktion entspricht <function>ereg</function> mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach Groß- und Kleinschreibung unterscheidet. + <example> + <title><function>eregi</function> example</title> + <programlisting role="php"> +<![CDATA[ +if (eregi("z", $string)) { + echo "'$string' contains a 'z' or 'Z'!"; +} +]]> + </programlisting> + </example> </para> <para> Siehe auch: <function>ereg</function>, @@ -282,14 +356,20 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>eregi_replace</function></funcdef> - <paramdef>string <parameter>Suchmuster</parameter></paramdef> - <paramdef>string <parameter>Ersatz</parameter></paramdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>string</type><methodname>eregi_replace</methodname> + <methodparam> + <type>string</type><parameter>Suchmuster</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Ersatz</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + </methodsynopsis> + <para> Diese Funktion entspricht <function>ereg_replace</function> mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach @@ -312,22 +392,33 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>split</function></funcdef> - <paramdef>string <parameter>Suchmuster</parameter></paramdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - <paramdef>int - <parameter><optional>Beschränkung</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>array</type><methodname>split</methodname> + <methodparam> + <type>string</type><parameter>Suchmuster</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + <methodparam choice="opt"> + <type>int</type><parameter>Beschränkung</parameter> + </methodparam> + </methodsynopsis> + + <note> + <para> + Die Funktion <function>preg_split</function>, die eine zu Perl + kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die + schnellere Alternative zu <function>split</function>. + </para> + </note> <para> Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette von <parameter>Zeichenkette</parameter> sind und durch deren Zerlegung an den durch <parameter>Suchmuster</parameter> des regulären Ausdrucks - bestimmten Stellen entstehen. Wenn + bestimmten Stellen entstehen. Wenn <parameter>Beschränkung</parameter> gesetzt wurde, enthält das zurückgegebene Array höchstens <parameter>Beschränkung</parameter> Elemente, von denen das @@ -341,20 +432,36 @@ <example> <title><function>split</function> Beispiel</title> <programlisting role="php"> -$passwd_list = split (":", $passwd_line, 5); +<![CDATA[ +list($user,$pass,$uid,$gid,$extra)= split (":", $passwd_line, 5); +]]> </programlisting> </example> </para> + <tip> + <simpara> + Wenn <parameter>Suchmuster</parameter> + <replaceable>n</replaceable> mal vorkommt, enhält das + zurückgegebene Array + <literal><replaceable>n</replaceable>+1</literal> Elemente. + Kommt <parameter>Suchmuster</parameter> zum Beispiel überhaupt + nicht vor, wird ein Array mit nur einem Element zurückgegeben. + Das gilt natürlich auch, wenn + <parameter>Zeichenkette</parameter> leer ist. + </simpara> + </tip> <para> Um ein Datum zu analysieren, das durch Schrägstriche, Punkte oder Bindestriche getrennt ist: <example> <title><function>split</function> Beispiel</title> <programlisting role="php"> +<![CDATA[ $datum = "04/30/1973"; // Trennzeichen darf ein Schrägstrich, Punkt // oder Bindestrich sein list ($monat, $tag, $jahr) = split ('[/.-]', $datum); -echo "Monat: $monat; Tag: $tag; Jahr: $jahr<br>\n"; +echo "Monat: $monat; Tag: $tag; Jahr: $jahr<br>\n"; +]]> </programlisting> </example> </para> @@ -407,16 +514,20 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>spliti</function></funcdef> - <paramdef>string <parameter>Suchmuster</parameter></paramdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - <paramdef>int - <parameter><optional>Beschränkung</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>array</type><methodname>spliti</methodname> + <methodparam> + <type>string</type><parameter>Suchmuster</parameter> + </methodparam> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + <methodparam choice="opt"> + <type>int</type><parameter>Beschränkung></parameter> + </methodparam> + </methodsynopsis> + <para> Diese Funktion entspricht <function>split</function> mit dem Unterschied, dass sie übereinstimmende Buchstaben nicht nach @@ -440,12 +551,14 @@ </refnamediv> <refsect1> <title>Beschreibung</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>sql_regcase</function></funcdef> - <paramdef>string <parameter>Zeichenkette</parameter></paramdef> - </funcprototype> - </funcsynopsis> + + <methodsynopsis> + <type>string</type><methodname>sql_regcase</methodname> + <methodparam> + <type>string</type><parameter>Zeichenkette</parameter> + </methodparam> + </methodsynopsis> + <para> Gibt einen korrekten regulären Ausdruck zurück, der mit <parameter>Zeichenkette</parameter> ohne Berücksichtigung von @@ -457,7 +570,9 @@ <example> <title><function>sql_regcase</function> Beispiel</title> <programlisting role="php"> +<![CDATA[ echo sql_regcase ("Foo bar"); +]]> </programlisting> </example> Gibt <screen>[Ff][Oo][Oo] [Bb][Aa][Rr]</screen> aus. @@ -490,4 +605,7 @@ 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 -->