Hallo,
ich habe einen Fehler fabriziert, weiß aber nicht worin er besteht:
$i = " >3242433 ";
$test = preg_match("/([0-9,<>]*)/i",$i);
echo($test[0]);
Ergibt immer "" nur warum ? Normalerweise sollte er doch im [0] den gesamten Text ausgeben (in diesem Fall) oder nicht ? Ich will überprüfen ob nur folgende Zeichen vorkommen: 0-9 , < >Danke für Eure Hilfe, Grüße, Matthias
Also erstens gibt dir preg_match nur true oder false zurück. Du musst die Abfrage in eine dritte Variable umleiten. Also:
$test = preg_match("/([0-9,<>]*)/i",$i,$matches);
$matches[0] sollte dann den kompletten String beinhalten.
Jetzt hast du aber auch noch einen Fehler in der RegEx. Du hast in der Variable Leerzeichen drin. Die musst du mit abfragen. Zudem erwartet deine RegEx ein Komma. Das ist nicht nötig. In den eckigen Klammern kannst du alle erforderlichen Zeichen ohne Trenner angeben. Richtig ist also:
$test = preg_match("/([0-9<> ]*)/i",$i,$matches);
Dann klappt auch mit dem Nachbarn! ;)
Nara