Automatisches Ausgeben

Rente

Mitglied
Hallo. Also ich hätte gerne mal eure Hilfe... Ich habe vor, etwas aus einem vorgefertigtem Text zu übernehmen, wo jedoch einige Dinge unklar sind. Am Ende sollen 3 Ausrdück ausgegeben werden, welche innerhalb des Textes standen. Sie stehen dort immer an der selben Stelle.


Es handelt sich hierbei um die Datei aus einem Spiel ich werde zur Veranschaulichung einen Screenshot machen:
bd643b43cec48a357aca77967.jpg


Lediglich die Angabe aus dem Beispiel 44440 soll unter der Variable $Metall, die Eingabe 27732 soll unter der Variable $Kristall und zuletzt die Zahl 529660 unter der Variable $Tritium. Wie ist es möglich so etwas zu automatisieren.

Zumal die Schiffe immer wieder variieren (in diesem Beispiel auf der linken Seite können noch mehrere dazukommen). Und auch gibt es verschiedene (bis zu 6) Kampfrunden, welche ich in diesem Beispiel verkürz habe. Sie sind genau so aufgebaut wie die erste...

Es wäre sehr nett, wenn man mir mal helfen kann. Auch eine Erklärung wäre sehr schön. Vielen Dank an dieser Stelle
 
z.B. so:
PHP:
<?php
	$Bericht="44440 Metall, 27732 Kristall, 529660 Tritanium wurden erbeutet.";
	$OK=ereg("([0-9]{1,}) Metall, ([0-9]{1,}) Kristall, ([0-9]{1,}) Tritanium wurden erbeutet.",$Bericht,$Beute);
	
	echo $Bericht;
	echo "<br>";
	echo $OK;
	echo "<br>";
	echo "Metall: ".$Beute[1]." Kristall: ".$Beute[2]." Tritanium: ".$Beute[3];
?>

Mit "Regulären Ausdrücken" (RegEx) kannst du belibiege Infos aus Texten mit statischem Aufbau sehr leicht heraus filtern.
 
hi,

am einfachsten wäre es wohl die phrase zu suchen und dann zu zerlegen ein kleins regex würde sich da eventuell anbieten.

PHP:
$string "Dies ist eine 30 Seiten Blindtext 4 Bilder mit mindestens 2 rechtschreibfehern";

$muster = "/[0-9]* Seiten Blindtext [0-9]* Bilder/"

preg_matches($muster,$string,$result);

wenn du dann das Ergebnis noch auswertest hast du die Zahlen

gruß

kato
 
okay, schon mals vielen Dank. Aber hat jemand von euch vielleicht einen Link im Petto wo das mit den RegEx-Kram erklärt wird? Ich habe noch kein vernünftiges Tutorial dazu gefunden :-(

Außerdem sollte wohl der ganze Text eingelesen werden, nicht nur die unterste Zeile. Wie kann ich diesen formatieren, dass dieser dann bis zum $Beitrag von CraHack gefiltert ist?

Wäre nett, wenn man mir helfen könnte.
 
Außerdem sollte wohl der ganze Text eingelesen werden, nicht nur die unterste Zeile. Wie kann ich diesen formatieren, dass dieser dann bis zum $Beitrag von CraHack gefiltert ist?

Mit dem Ausdruck solltest du auch ohne probleme den ganzen Beitrag filtern können. Also die Funktion sollte so ohne änderung Funktionieren ganz egal wiviel vom Bericht übergeben wird, wichtig ist nur das die unterste zeile vorhanden ist.



http://de.wikipedia.org/wiki/Regex
http://www.php-resource.de/tutorials/read/10/1/
 
Ähm also bei mir klappt das nicht. Ich denke, dass der Text, der davor steht, irgendwie noch deklariert werden muss (oder wie das jetzt auch schon wieder heißt.!) Also, zum Verständnis. Vor den Werten, welche ich haben möchte, steht ja noch massig Text. Die länge dieses Textes ist mir unbekannt. Kann ich also sagen, dass dieser Text in Beutel[1] gespeichert wird, ich diesen nicht weiter verwende und der Rest genau so funktioniert?! Dann müsste das doch klappen, oder?!

Und hat hier jemand mal nen link zu einem guten Tutorial, wo alles Schritt für Schritt erklärt wird?
 
Zuletzt bearbeitet:
Verstehe nicht ganz was du meinst.
Du kannst Anstatt der Variable $Bericht einen beliebigen Bericht einfügen und danach steht im Array $Beute wieviel Beute du gemacht hast.
 
ah ich weiß wo unser/meiner/deiner(?) Fehler lagen.. Bei mir hat es nicht funktioniert, weil du anstatt Tritium Tritianium geschrieben hast...

Aber vielen Dank hierfür.

Ich hoffe, dass ich nicht allzu oft mit so doofen Anfängerfragen hier erscheinen soll. Doch wieder schreibe ich, dass es nett wäre, wenn jemand mir nen Tutorial zukommen lassen könnte.

Ach noch eine kleine Frage... Was wird da bei echo $ok, ausgegeben?
 
Zuletzt bearbeitet:
habs übersehen... vielen Dank noch mals. Ich werd dann mal den Erledigt-Button drücken und feddig ist. Vielen Dank, Vielen Dank, Vielen Dank... Heute Abend wird dann mal ordentlich ausprobiert (ich hock hier grade inna Schule fest!)
 
Zurück