Hallo,
ich bin Anfänger was die Nutzung von regulären Ausdrücken anbelangt und habe eine Frage.
Ich habe eine Beispieldatei erstellt, welche kleingeschriebene Wörter mit 5 Buchstaben enthalten:
Dateiname: logdatei.txt:
Inhalt:
gabel
fsalfjsdalfjdsl
255
dasfjlksdjflksdjlkfj
bauer
192
sauer
Den Inhalt der Datei lese mittels folgender php-Datei in ein Array $text ein und suche dort nach dem Muster
$regtest_wort:
Als Ergebnis erhalte ich folgende Ausgabe:
Start Ausgabe eingelesener String
Worte mit fuenf buchstaben und der Kombination 3x Zahl 1 bis 9 gefolgt von Punkt:
gabel
fsalfjsdalfjdsl
255
dasfjlksdjflksdjlkfj
bauer
192
sauer
Ende Ausgabe eingelesener String
Einträge in Array: 3
Notice: Undefined offset: 1 in C:\xampp\htdocs\projekt_2\dateieinlesen.php on line 27
Element1:
Element2:gabel
Frage: Warum wird nur dieses Element "gabel" ausgegeben ?
Gruß
Piti
ich bin Anfänger was die Nutzung von regulären Ausdrücken anbelangt und habe eine Frage.
Ich habe eine Beispieldatei erstellt, welche kleingeschriebene Wörter mit 5 Buchstaben enthalten:
Dateiname: logdatei.txt:
Inhalt:
gabel
fsalfjsdalfjdsl
255
dasfjlksdjflksdjlkfj
bauer
192
sauer
Den Inhalt der Datei lese mittels folgender php-Datei in ein Array $text ein und suche dort nach dem Muster
$regtest_wort:
PHP-Code:
if(!file_exists($_POST["dn"]))
exit("Datei konnte nicht gefunden werden");
$text = file($_POST["dn"]);
echo "<b>Start Ausgabe eingelesener String</b><br>";
for ($i = 0; $i < count($text); $i++)
echo "$text[$i]<br>";
echo "<b>Ende Ausgabe eingelesener String</b><br>";
// IPv4 filtern
$regtest_wort = "/^([a-z]{5}\s)$/";
$regtest_zahl = "/^[1-9]{3}\s$/";
$ergebnisse = preg_grep($regtest_wort,$text);
if (empty($ergebnisse)) echo "Nichts gefunden !!";
echo "Anzahl Einträge in Array: ".count($ergebnisse)."<br>";
for ($i = 1; $i < count($ergebnisse); $i++)
echo "Element".$i.":".$ergebnisse[$i]."<br>";
Als Ergebnis erhalte ich folgende Ausgabe:
Start Ausgabe eingelesener String
Worte mit fuenf buchstaben und der Kombination 3x Zahl 1 bis 9 gefolgt von Punkt:
gabel
fsalfjsdalfjdsl
255
dasfjlksdjflksdjlkfj
bauer
192
sauer
Ende Ausgabe eingelesener String
Einträge in Array: 3
Notice: Undefined offset: 1 in C:\xampp\htdocs\projekt_2\dateieinlesen.php on line 27
Element1:
Element2:gabel
Frage: Warum wird nur dieses Element "gabel" ausgegeben ?
Gruß
Piti
Kommentar