CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
29.08.2006, 10:30:36
|
Anfänger
|
|
Registriert seit: Aug 2006
Beiträge: 3
|
|
regulärer Ausdruck
Hallo zusammen!
Ich versuche mich jetzt seit ein paar Tagen an einem regulären Ausdruck und komme einfach nicht weiter. Vielleicht hat jemand von euch einen Tip(p) für mich!
In einer Datei liegen folgende Zeilen:
...
Variable[0]='3,ddk;4,l;6,kdd;';
Variable[1]='2,e3g;';
...
/Variable[\([0-9]+)\]='[0-9]+,[\w]+;'/
So bekomme ich leider nur die Zeilen in denen ein X,Y steht. Ich möchte aber die einzelnen X,Y haben. Leider funktioniert
/Variable[\([0-9]+)\]='[([0-9]+,[\w]+;)]+'/
nicht. Hat jemand eine Idee?
1000 Dank im Voraus
Timo
|
29.08.2006, 11:40:56
|
Member
|
|
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
|
|
AW: regulärer Ausdruck
Was soll dies den beuten, meinst du damit eine Zeichenfolge [X,Y] oder wie ist das zu verstehen?
Wäre besser, wenn du dann auch solch Zeilen postest. In denen dieses enthalten ist. Was soll den als Ergebnis geliefert werden?
__________________
Grüße Andes
|
29.08.2006, 15:57:12
|
Anfänger
|
|
Registriert seit: Aug 2006
Beiträge: 3
|
|
AW: regulärer Ausdruck
Innerhalb der '-Zeichen steht immer folgendes:
34,dasd;3123,asda;23211,sda; (und so weiter)
Wollte mit dem X und Y sagen: Wert X wird durch ein Komma vom Wert Y getrennt. Das Wertepaar wird dann durch ein Semikolon vom nächsten Wertepaar getrennt. Ich versuche nun alle Wertepaare gesplittet durch einen regulären Ausdruck in ein Array zu bekommen.
Deshalb
... ([0-9]+,[\w]+);
Hatte mir nun halt vorgestellt, das in Klammern stehende Wertepaar im Ausdruck durch ein + ergänzen um alle Paare ins Ergebnisarray zu bekommen:
... [([0-9]+,[\w]+);]+
funktioniert nur leider nicht. Bekomme überhaupt kein match! :(
|
29.08.2006, 17:14:41
|
Member
|
|
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
|
|
AW: regulärer Ausdruck
Wenn in deiner Datei alle Einträge in dem Schema
Variable[0]='3,ddk;4,l;6,kdd;';
Variable[1]='2,e3g;';
vorliegen. Warum ließt du dann die Datei nicht mit file() ein und verwendest für die Werte explode()?
__________________
Grüße Andes
|
30.08.2006, 08:36:37
|
Anfänger
|
|
Registriert seit: Aug 2006
Beiträge: 3
|
|
AW: regulärer Ausdruck
Das wäre Plan B! ;)
Ich hatte gedacht das Problem eventuell etwas netter zu lösen als über mehrere explodes die Zeilen zu zerlegen!
LG
Timo
Geändert von timoh (30.08.2006 um 08:37:05 Uhr)
|
30.08.2006, 11:11:29
|
Member
|
|
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
|
|
AW: regulärer Ausdruck
Wenn du es mit preg_match() machen möchtest, kannst du es so schreiben.
PHP-Code:
$var1 = "Variable[0]='3,ddk;4,l;6,kdd;';";
preg_match("/='(.*?);(.*?);(.*?);';/", $var1, $test);
print_r($test);
Ausgabe:
Array
(
[0] => ='3,ddk;4,l;6,kdd;';
[1] => 3,ddk
[2] => 4,l
[3] => 6,kdd
)
Allerdings hast du bei deinem Aufbau das Problem, dass die Anzahl der Wertpaare kennen musst. Besser wäre es, in der Datei die Daten einheitlich zu hinterlegen.
PHP-Code:
$var1 = "3,ddk;4,l;6,kdd;";
preg_match_all("/(.*?);/", $var1, $test);
print_r($test);
Ausgabe:
Array
(
[0] => Array
(
[0] => 3,ddk;
[1] => 4,l;
[2] => 6,kdd;
)
[1] => Array
(
[0] => 3,ddk
[1] => 4,l
[2] => 6,kdd
)
)
Ich würde es aber trotzdem über file() und explode() lösen.
Wie liest du überhaupt die Datei ein?
__________________
Grüße Andes
Geändert von Andes (30.08.2006 um 11:12:46 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 09:15:03 Uhr.
|