burghi'sphp-dummies.de
PHP für Einsteiger und Fortgeschrittenere - an laufenden Scripten erklärt
10.02.2012, 09:26 Uhr - Impressum

Tutorials - RegExpressions - Basics - beliebiges Zeichen

Tutorials - RegExpressions
Basics: beliebiges Zeichen
Der Punkt steht in regulären Ausdrücken für ein beliebiges Zeichen.
Beispiel:
<?php
$reg = "^H.llo$";
if(ereg($reg, "Hallo")) echo "Hallo passt auf $reg<br />\n";     /* stimmt */
if(ereg($reg, "Hello")) echo "Hello passt auf $reg<br />\n";     /* stimmt */
if(ereg($reg, "Hella")) echo "Hella passt auf $reg<br />\n";     /* stimmt nicht */
if(ereg($reg, "Halloa")) echo "Hella passt auf $reg<br />\n";     /* stimmt nicht */
?>
Der Punkt steht in regulären Ausdrücken für ein beliebiges Zeichen.
Desweiteren kann man angeben, wie viele beliebige Zeichen maximal oder minimal an dieser Stelle stehen dürfen.
Im folgenden Beispiel mindestens 2, maximal 4 Zeichen - beachte die geschweiften Klammern, sie stehen für die erlaubten Wiederholungen:
<?php
$reg = "^H.{2,4}llo$";     /* mindestens 2, maximal 4 "beliebige Zeichen" dürfen zwischen H und l stehen */
if(ereg($reg, "Hallo")) echo "Hallo passt auf $reg<br />\n";     /* stimmt nicht */
if(ereg($reg, "Haallo")) echo "Haallo passt auf $reg<br />\n";     /* stimmt */
if(ereg($reg, "Haaallo")) echo "Haaallo passt auf $reg<br />\n";     /* stimmt */
if(ereg($reg, "Haaaallo")) echo "Haaaallo passt auf $reg<br />\n";     /* stimmt */
if(ereg($reg, "Haaaaallo")) echo "Haaaaallo passt auf $reg<br />\n";     /* stimmt nicht */
?>
So kann man also leicht die passende Länge eines Textes bestimmen:
<?php
$text = "Hallo, was geht ab?";
if(ereg("^.{1,100}$", $text)) echo "Der Text ist zwischen 1 und 100 Zeichen lang.<br />\n";
if(ereg("^.{50,100}$", $text)) echo "Der Text ist zwischen 50 und 100 Zeichen lang.<br />\n";
?>
Aber das ist an und für sich nicht der Sinn von Regulären Ausdrücken *g*

Anmerkung noch: Wenn minimale und maximale erlaubte Wiederholungen gleich sind, kann man statt {x,x} auch einfach {x} schreiben.
( also statt {2,2} einfach {2} )
© 2004-2005 - Impressum