WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 16.03.2008, 00:44   #1
iG0r
Gesperrt
 
Registriert seit: 14.08.2003
Alter: 47
Beiträge: 915


Standard PHP preg_match schluckt Daten zwischen < >

Ich bin schon leicht verzweifelt
Wollte heute mal so nebenbei einen kleinen Socket Server und Log Parser für einen Team Fortress 2 Gameserver basteln. Es klappt auch fast alles wunderbar. Leider schluckt mir preg_match die Steam-Id des Spielers, was nich gerade optimal ist. Beispiel:

PHP-Code:

<?php

$mystream 
'L 03/15/2008 - 22:45:37: "tester<317><STEAM_0:1:23456789><Blue>" say "das ist ein test!"';
preg_match("^(.*?) (\d+/\d+/\d+) (.*?) (\d+:\d+:\d+:) (\".*?<\d+><STEAM_\d+:\d+:\d+><.*?>\") (say|say_team) (\".*?\")$^"$mystream$matches);
print_r($matches);

?>
Und das Array das ist bekomme, sieht dann leider so aus:

PHP-Code:

Array
(
    [
0] => L 03/15/2008 22:45:37"tester<317>" say "das ist ein test!"
    
[1] => L
    
[2] => 03/15/2008
    
[3] => -
    [
4] => 22:45:37:
    [
5] => "tester<317>"
    
[6] => say
    
[7] => "das ist ein test!"

Leider fehlt bei [5] nach dem Spielernamen und id <STEAM_0:1:23456789><Blue>. Warum hier die Steamid und dann Noch das Team geschluckt wird, ist mir schleierhaft. Warscheinlich fehlt mir da irgendwas

So einfach wie ich mir das gedacht habe, ist es dann im Detail wohl doch nicht. Die Steam-id würde ich schon sehr gerne mit loggen, warum wird alles nach der Spieler-id <317> bis zum Ende der Anführungszeichen " geschluckt?

Hilfe!
Danke
iG0r ist offline   Mit Zitat antworten
Alt 18.03.2008, 20:35   #2
iG0r
Gesperrt
 
Registriert seit: 14.08.2003
Alter: 47
Beiträge: 915


Standard

Hab das ganze jetzt in Perl erledigt, anscheinend ist da PHP noch nicht soweit
iG0r ist offline   Mit Zitat antworten
Alt 19.03.2008, 09:45   #3
gorie
Master
 
Benutzerbild von gorie
 
Registriert seit: 31.08.2003
Ort: Velden
Alter: 41
Beiträge: 615


gorie eine Nachricht über ICQ schicken gorie eine Nachricht über Skype™ schicken
Standard Moin moin

php is scho so weit, keine Sorge

Es liegt viel mehr daran, dass das die beiden Dinge innerhalb der spitzen Klammern vom Browser als HTML Tags erkannt werden und deshalb nicht sichtbar sind... schau dir dazu einfach mal den Seitenquelltext der ausgabe an (:
gorie ist offline   Mit Zitat antworten
Alt 20.03.2008, 10:49   #4
iG0r
Gesperrt
 
Registriert seit: 14.08.2003
Alter: 47
Beiträge: 915


Standard

Du könntest recht haben, der Fehler ist halt bei Perl so nicht vorgekommen, weil die Ausgabe in der Console war
iG0r ist offline   Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:31 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag