bestimmtes aus $text filtern

DJmension

Mitglied
Hallo ich hänge ziemlich in der Luft.

Ich habe folgenden Text in einer $text Variablen gespeichert.

Vampir [-VoN-] ~ Arachno ~ vs. Werwolf Quasimodo
Level: 53 Level: 32
Stärke: 86 (+51) Stärke: 77 (+1)
Verteidigung: 86 (+46) Verteidigung: 73 (+43)
Gewandtheit: 87 (+3) Gewandtheit: 68 (+3)
Ausdauer: 103 (+26) Ausdauer: 66
Geschicklichkeit: 49 Verteidigungsbonus: 24
Erfahrung: 13787 Erfahrung: 4873
Lebensenergie: 2276.13 Lebensenergie: 30.97
Spezialfähigkeiten Spezialfähigkeiten
- Kein Item - - Kein Item -
Zerberus Hund
Angriff: 68 Angriff: 60
Verteidigung: 64 Verteidigung: 58
Ausdauer: 65 Ausdauer: 59
Kampfbericht im Detail am 24.06.2008 um 21:11:59 Uhr
Name: Trefferpunkte: Lebensenergie:
Vampir [-VoN-] ~ Arachno ~ 45.61 2276.13
Werwolf Quasimodo 0.00
1
Sieger: [-VoN-] ~ Arachno ~
Sieger: [-VoN-] ~ Arachno ~ hat 149,00 erbeutet! Vampir [-VoN-] ~ Arachno ~ erhielt 0 und Werwolf Quasimodo erhielt 1 Erfahrungspunkt(e)!Werwolf Quasimodo hat den Kampf verloren, da seine Lebensenergie unter 10 Punkte gefallen ist!


Den Rot markierten teil möchte ich raus Filtern , hier ist es jetzt 1 , teilweise stehen aber auch an dieser Stelle andere Zahlen wie 1322.42 ,
Also egal welche Zahl da steht , dieser Bereich soll raus gefiltert werden.

mit meinem Code haut es nicht hin , kann mir einer helfen Bitte ?

Mein Code um den Teil raus zu filtern lautet :
PHP:
$a = explode("Sieger:", $text);  // Das Wort Sieger kommt immer an dieser Stelle im $text vor
$a = explode("Werwolf", $a[0]);  // Das Wort Werwolf kommt immer an dieser Stelle im $text vor
$Energie = trim($a[0]);
Im Wert $Energie steht aber auf dieser Weise 0 = ( Null )

Und dieser gibt mir ewig die Falschen Zahlen aus :
PHP:
//Energie
$a = explode("Sieger", $text); 
$a = explode("Werwolf", $a[0]);
$a = preg_split("/\s+/", $a[1]); 
$anz = count($a);
$anz = $anz -2;
$anz = $a[$anz];
// Restenergie des Opfers 
$Energie = $anz;
Und Zwar die Falsche Lebensenergie "2276" ich brauche aber die Rot Markierte "1"
 
Zuletzt bearbeitet:
Moin,


Reguläre Ausdrücke sind doch was Feines ;)
PHP:
preg_match('@^\s*Werwolf.*(\d+|\d+\.\d+)\s*$@mU',$txt,$Energie);
echo $Energie[1];
 
Zurück