Tutorials
[ Zurück ]


preg_match Teil 1


Ich habe dieses Tutorial geschireben da ich immer wieder Probleme habe mit preg_match.
Und um immer wieder nachlesen zu können bzw. die Code Schnipsel zu kopieren(ich bin TippFaul) habe ich mir ein paar Beispiele zusammengeschustert.
Soweit sollten sie alle tun (habe sie getestet) von daher hoffe ich das dieses Tutorial auch anderen evtl. weiterhelfen kann.
Sobald ich etwas mehr Zeit habe, schreibe ich noch etwas komplexere Beispiele.
Wenn mit jemand Tipps hat, meldet euch! 

BEISPIEL 1.
Nur Sonderzeichen erlauben/verbieten: !"§$%&/()=?´`+*~#'<>@[]Leerzeichen
<?php
         //$str = '123_4'; // _ ist nicht erlaubt
         //$str = '44a'; // a ist nicht erlaubt
         //$str = '567!'; // ! ist nicht erlaubt
         //$str = '890';
         $pattern = ('/[^°!"§$%&\/()=?´`+*~#\'<>@\[\][:space:]]/'); 
//Einige Zeichen müssen maskiert/anders dargestellt werden. z.B.: '/[]leerzeichen
//Das sieht dann so aus: \'\/\[\][:space:]
//Die Reihenfolge in der die Sonderzeichen aufgelistet werden, ist egal

//Hier soll die Ausgabe "false" zurückgeben, denn wir wollen die Zeichen ja nicht haben!
         if (preg_match($pattern, $str, $wert))
         {
                  echo "False: $wert[0]"; // Hier wird das Felerhafte Zeiche ausgegeben
         }
         else
         {
                 echo "OK: $str";
         }
?>


BEISPIEL 2.
Nur Zahlen erlauben/verbieten. (0123456789)
<?php
         //$str = '123_4'; // _ ist nicht erlaubt
         //$str = '44a'; // a ist nicht erlaubt
         //$str = '567!'; // ! ist nicht erlaubt
         //$str = '890'; // Alle Zeichen OK
         $pattern = ('/[^0-9]/'); 
         if (preg_match($pattern, $str, $wert))
         {
                  echo "False: $wert[0]"; // Hier wird das Fehlerhafte Zeichen ausgegeben
         }
         else
         {
                 echo "$str OK";
         }
?>


BEISPIEL 3.
Nur Buchstaben erlaubt. (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZöÖüÜäÄ)
<?php
         // $str = 'Björn';  // ö ist nicht erlaubt
         // $str = 'susi9';  // 9 ist nicht erlaubt
         // $str = 'tim!';   // ! ist nicht erlaubt
         // $str = 'inkpearl'; // alle Zeichen in Ordnung
         $pattern = ('/[^a-zA-ZäöüÄÖÜ]/');  
         // Hier soll die Überprüfung "false" zurückgeben, denn wir wollen die Zeichen ja nicht haben!
         if (preg_match($pattern, $str, $wert)) 
         {
                 echo "False: $wert[0]<br>";
         }
         else
         {
                 echo "$str OK";
         }
?>


BEISPIEL 4.
Hier wird überprüft ob folgendes Muster eingehalten wurde: xx-xx-xxxx
Dabei dürfen nur Zahlen enthalten sein.
<?php
//Quelle: http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Regul%C3%A4re_Ausdr%C3%BCcke#preg_match.28.29

$datum = '01-03-2004';
//Hier soll die Überprüfung "true" ausfallen, damit wir uns sicher sein können das, 
//das gewünschte Datumsformat vorhanden ist!
if(preg_match('/^(\d{2})-(\d{2})-(\d{4})$/', $datum, $wert))
{
   echo "Datumsformat akzeptiert."; 
} 
else 
{
   echo 'Ungültiges Datumsformat: '.$datum;
}
?>
('/^( Beginn/Einleitung( das ^ steht für NOT, )
Mit ^: Übereinstimmung gefunden = true
Ohne ^: Übereinstimmung gefunden = false
 
\d Ziffer, [0-9]
{2} Genau 2-mal
 
)-( Mittelstück (*Demiliter Ende und Anfang)
 
\d Ziffer, [0-9]
{2} Genau 2-mal
 
)-( Mittelstück (*Demiliter Ende und Anfang)
 
\d Ziffer, [0-9]
{4} Genau 4-mal
 
)$/' Ende

 

 

Erstellt:02.07.12 13:02
Autor: incpearl

Letzte Änderung: 02.07.12 13:06
Geändert von: incpearl

Bewertungen:0
Bewertung:

Freigeschaltet: Ja
Views 4632

Klicke einfach auf einen Stern!
Wollen Sie wirklich das Tutorial löschen?
Wollen Sie wirklich dieses Tutorial zulassen?
Betreff: Report tutorial [id = 645] !
Absender:
Kommentar:
Wollen Sie wirklich dieses Tutorial zulassen?
Absender:
Kommentar:
Folgende User sind hier gerade aktiv:
-

ANZEIGE