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
-->