Zurück   klamm-Forum > klamm-Lose > Lose4Scripts > Lose4Scripts (erledigt)

 
 
LinkBack Themen-Optionen Ansicht
Alt 15.11.2011, 00:30:20   #1 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard Hilfe bei einem ganz kleinen PHP-Script

Hallo Leute,

ich brauche Hilfe bei einem PHP Script.
Es geht darum in einen Text-File einen Begriff zu suchen und dann den Teil wo der Begriff enthalten ist komplett auszugeben.

Beispiel:

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Demo 1234566: irgend ein Text steht in mehrereren Zeilen und dies sind immer unterschiedlich viele Zeilen. Letzte Zeile des 1. Datensatzes. Demo 1234567: irgend ein Text steht in mehrereren Zeilen und dies sind immer unterschiedlich viele Zeilen. Nach diesen Zeilen steht dann hier der Suchbegriff Text geht weiter. Demo 1234568: dies ist der nächste Eintrag...
Ich will dann den Kompletten "Datensatz" von 'Demo' bis 'weiter.' angezeigt bekommen aber nur von den "Datensätzen" wo der "Suchbegriff" auch drin steht.

Ich hoffe Ihr versteht mein Anliegen.

Es ist bereits ein PHP-Script vorhanden wo dieser Teil noch integriert werden soll.

Bei Interresse meldet euch bitte
axseb1
 
axseb1 ist offline  
Alt 15.11.2011, 09:17:02   #2 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Hope that helps:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
<?php
$needle 
'Suchbegriff';
$text 'Demo 1234566:
irgend ein Text
steht in mehrereren Zeilen
und dies sind immer
unterschiedlich viele Zeilen.
Letzte Zeile des 1. Datensatzes.

Demo 1234567:
irgend ein Text
steht in mehrereren Zeilen
und dies sind immer
unterschiedlich viele Zeilen.
Nach diesen Zeilen steht dann
hier der Suchbegriff Text geht weiter.

Demo 1234568:
dies ist der nächste Eintrag...'
;

function 
find_text($text$needle) {
    
$text str_replace("\r"''$text);
    
$parts explode("\n\n"$text);

    
$result = array();
    foreach (
$parts as $part) {
        if (
strpos($part$needle) !== false) {
            
$result[] = $part;
        }
    }
    return 
$result;
}

header('content-type: text/plain');
var_dump(find_text($text$needle));
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline  
Alt 15.11.2011, 11:17:32   #3 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Vielen Dank für deine Hilfe,
ich hab nur das Problem das der Text in einer anderen Datei steht.

Mein bisheriger Code sieht so aus:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
<?php
$nolimit 
$_POST["nolimit"];
$filename "HH{$nolimit} NoLimit.txt";

if (
file_exists($filename)) {
    {
echo 
"<p><span style=\"font-size: 14pt\">NO LIMIT</span></p><br>";
}
$row 1;                                      // Anzahl der Arrays
$handle fopen ("HH{$nolimit} NoLimit.txt","r");              // Datei zum Lesen öffnen
while ( ($data fgetcsv ($handle1000",")) !== FALSE ) { // Daten werden aus der Datei
                                               // in ein Array $data gelesen
    
$num count ($data);                      // Felder im Array $data
                                               // werden gezählt
    
print "<p>\n";
    
$row++;                                    // Anzahl der Arrays wird 
                                               // inkrementiert
    
for ($c=0$c $num$c++) {              // FOR-Schleife, um Felder 
        
print $data[$c] . "<br>\n";            // des Arrays auszugeben
    
}
}
fclose ($handle);
} else {
    print 
"Es wurde kein {$nolimit} No Limit gespielt";
}
?>
jetzt will ich halt statt den ganzen Text auszugeben nur den Teil ausgeben den Du in deinem Code beschrieben hast.

Vielen Dank
axseb1
 
axseb1 ist offline Threadstarter  
Alt 15.11.2011, 11:29:43   #4 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Ah, das ändert den Sachverhalt natürlich. Im Endeffekt läuft's dann ja darauf hinaus, aus der CSV nur die Zeilen auszugeben, die das Schlüsselwort enthalten.

Sollte so klappen:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
<?php
$nolimit 
$_POST["nolimit"];
$filename "HH{$nolimit} NoLimit.txt";

if (
file_exists($filename)) {
    {
echo 
"<p><span style=\"font-size: 14pt\">NO LIMIT</span></p><br>";
}
$row 1;                                      // Anzahl der Arrays
$handle fopen ("HH{$nolimit} NoLimit.txt","r");              // Datei zum Lesen öffnen
while ( ($data fgetcsv ($handle1000",")) !== FALSE ) { // Daten werden aus der Datei
                                               // in ein Array $data gelesen
    // Zeilen überspringen, die nicht das Schlüsselwort $NEEDLE enthalten
    
if (strpos(implode('|'$data), $NEEDLE) === false) {
        continue;
    }
    
$num count ($data);                      // Felder im Array $data
                                               // werden gezählt
    
print "<p>\n";
    
$row++;                                    // Anzahl der Arrays wird 
                                               // inkrementiert
    
for ($c=0$c $num$c++) {              // FOR-Schleife, um Felder 
        
print $data[$c] . "<br>\n";            // des Arrays auszugeben
    
}
}
fclose ($handle);
} else {
    print 
"Es wurde kein {$nolimit} No Limit gespielt";
}
?>
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse

Geändert von tleilax (15.11.2011 um 11:30:10 Uhr)
tleilax ist offline  
Alt 15.11.2011, 12:20:27   #5 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Ja fast,
Nur gibt er mit jetzt keine Zeile mehr aus da das needle nicht definiert ist
Wenn ich das oben definiere, dann Spuckt er nur das NO LIMIT aus dem ECHO oben aus.

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<?php
$needle 
'Straight'
$nolimit $_POST["nolimit"];
$filename "HH{$nolimit} NoLimit.txt";

if (
file_exists($filename)) {
    {
echo 
"<p><span style=\"font-size: 14pt\">NO LIMIT</span></p><br>";
}
$row 1;                                      // Anzahl der Arrays
$handle fopen ("HH{$nolimit} NoLimit.txt","r");              // Datei zum Lesen öffnen
while ( ($data fgetcsv ($handle1000",")) !== FALSE ) { // Daten werden aus der Datei
                                               // in ein Array $data gelesen
    // Zeilen überspringen, die nicht das Schlüsselwort $NEEDLE enthalten
    
if (strpos(implode('|'$data), $NEEDLE) === false) {
        continue;
    }
    
$num count ($data);                      // Felder im Array $data
                                               // werden gezählt
    
print "<p>\n";
    
$row++;                                    // Anzahl der Arrays wird 
                                               // inkrementiert
    
for ($c=0$c $num$c++) {              // FOR-Schleife, um Felder 
        
print $data[$c] . "<br>\n";            // des Arrays auszugeben
    
}
}
fclose ($handle);
} else {
    print 
"Es wurde kein Strassen im {$nolimit} No Limit gefunden";
}
?>
Hier ein Auszug eines echten Text-File damit Du verstehst was ich meine

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
Hand #409889-1 - 2011-10-30 16:01:33 Game: No Limit Hold'em (0+0) - Blinds 10/20 Site: 1. MultyChips-Pokerraum > Turniere alle 10 Minuten Table: 16:00 > 10K Preispool +10 - Table 1 Seat 4: User1 (1000) Seat 5: User2 (1000) Seat 6: User3 (1000) Seat 7: User4 (1000) Seat 9: User5 (1000) - sitting out Seat 10: User6 (1000) - sitting out User1 has the dealer button User2 posts small blind 10 User3 posts big blind 20 ** Hole Cards ** User4 calls 20 User5 calls 20 User6 folds User1 folds User2 calls 10 User3 checks ** Flop ** [2c As 2s] User2 checks User3 bets 60 User4 calls 60 GermanDream folds User2 folds ** Turn ** [Js] User3 bets 20 User4 calls 20 ** River ** [Td] User3 bets 60 User4 folds User3 refunded 60 User4 wins Pot (240) ** Deck ** [9s 4h Ks Qd Qh 6s 8c Ac 5c 3c 5d 2d 2c As 2s Js Td] Hand #409890-2 - 2011-10-30 16:02:39 Game: No Limit Hold'em (0+0) - Blinds 10/20 Site: 1. MultyChips-Pokerraum > Turniere alle 10 Minuten Table: 16:00 > 10K Preispool +10 - Table 1
Ich will jetzt nur die Hände mit einer Strassen angezeigt bekommen die zum Showdown gekommen sind.
Dann steht nach dem letzten bieten:
Code:
1:
2:
** Pot Show Down ** [9d 8h As 5s 6c] User1 shows [Ah 7h] (a Straight, Five to Nine)
Deshalb will ich nach dem Begriff 'Straight' suchen lassen und dann von Hand bis einschließlich ** Deck ** [...] anzeigen lassen.
Wobei die Kartendefinitionen und die ganze Bet, Check und Raise natürlich immer anders aussehen können ebenso gibt es natürlich immer unterschiedlich viele Spieler am Tisch
Deshalb weis ich nie wie lang oder kurz die komplette Handhistory ist.

Vielen Dank für deine Hilfe
axseb1
 
axseb1 ist offline Threadstarter  
Alt 15.11.2011, 13:54:45   #6 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Hm, dann hast Du mich mit dem fgetcsv() ein wenig durcheinander gebracht.

Ich habe Deinen Code mal etwas aufgeräumt und um die Funktion erweitert, dass Einträge ausgelassen werden, die nicht "Straight" bzw. einen von Dir definierbaren String enthalten.

Probier mal:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<?php
function strip_paragraphs($text$needle) {
    
$text str_replace("\r"''$text);
    
$parts explode("\n\n"$text);

    
$result = array();
    foreach (
$parts as $part) {
        if (
strpos($part$needle) !== false) {
            
$result[] = $part;
        }
    }
    return 
implode("\n\n"$result);
}

$nolimit $_POST["nolimit"];
$filename "HH{$nolimit} NoLimit.txt";

if (
file_exists($filename)) {
    echo 
'<p style="font-size: 14pt">NO LIMIT</p><br>';

    
$contents file_get_contents($filename);
    
$contents strip_paragraphs($contents'Straight');
    
    echo 
nl2br($contents);
} else {
    print 
"Es wurde kein Strassen im {$nolimit} No Limit gefunden";
}
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline  
Alt 15.11.2011, 14:33:57   #7 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Vielen Dank für deine Hilfe!!!

Funzt super eine letzte Frage habe ich noch,

kann ich da irgendwie ne Meldung ausgeben lassen wenn er keine Strassen gefunden hat, weil er mir jetzt den PRINT bei ELSE ja nur ausgibt wenn keine File vorhanden ist

axseb1
 
axseb1 ist offline Threadstarter  
Alt 15.11.2011, 14:46:07   #8 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Zitat:
Zitat von axseb1 Beitrag anzeigen
kann ich da irgendwie ne Meldung ausgeben lassen wenn er keine Strassen gefunden hat, weil er mir jetzt den PRINT bei ELSE ja nur ausgibt wenn keine File vorhanden ist
In dem Fall ist $contents nach dem Aufruf von strip_paragraphs() leer, also:
PHP-Code:
1:
2:
3:
4:
5:
if (empty($contents)) {
    echo 
'<p>Keine Strassen gefunden</p>';
} else {
    echo 
nl2br($contents); 

Das muss dann vor dem unteren else im oberen Code angepasst werden.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline  
Alt 15.11.2011, 17:18:17   #9 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Vielen Dank!

wäre es viel Aufwand dazu eine Auswahlmöglichkeit zu schaffen das man nur die Straight des ausgewählten Users sieht?
 
axseb1 ist offline Threadstarter  
Alt 16.11.2011, 07:44:51   #10 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Welches ist denn der ausgewählte Spieler und wie sieht ein entsprechender Datensatz aus?
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline  
Alt 16.11.2011, 12:05:23   #11 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Also ich dachte man könnte das evtl. durch ein Dropdown Menü machen,
in dem man den Spielernamen in dessen Zeile der Suchbegriff steht auswählen kann.
Evtl. sollten man statt nur nach Straight nach a Straight, suchen lassen da das nur einmal in solch einem Datensatz vorkommt.
Der Username ich das erste Wort in der Zeile wo a Straight, steht,
kann aber auch eine Wort-Zahl-Kombination sein. (axseb1 z.B.)
Die Zeile die ich unten Grau gemacht habe würde bei der Suche dann ja nicht beachtet sondern lediglich die Blau Zeile.

Hier ein Beispiel:
Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
Hand #416120-17 - 2011-11-13 20:35:25 Game: No Limit Hold'em (200 - 4000) - Blinds 20/40 Site: 1. MultyChips-Pokerraum > Turniere alle 10 Minuten Table: B NoLimit Seat 2: User1 (1000) Seat 4: User2 (3272) Seat 5: User3 (1160) Seat 7: User4 (6318) Seat 8: User5 (840) Seat 9: User6 (220) User1 has the dealer button User2 posts small blind 20 User3 posts big blind 40 User6 posts big blind 40 ** Hole Cards ** User4 calls 40 User5 calls 40 User6 checks User1 calls 40 User2 calls 20 User3 checks ** Flop ** [5h 7d 4s] User2 checks User3 checks User4 checks User5 checks User6 checks User1 checks ** Turn ** [5s] User2 checks User3 checks User4 checks User5 checks User6 checks User1 checks ** River ** [Ah] User2 checks User3 bets 120 User4 folds User5 folds User6 120 User1 folds User2 folds ** Pot Show Down ** [5h 7d 4s 5s Ah] User3 shows [6s 3c] (a Straight, Three to Seven) User6 shows [Ad Qs] (Two Pair, Aces and Fives +Q) User3 wins Pot (476) with a Straight Rake (4) ** Deck ** [3d Ad Kc Tc 6s Qc 8c Qs 4d 8d 3c Td 5h 7d 4s 5s Ah]
Dazu solltest Du wissen, das ich das Skript um einiges erweitert habe.

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
<?php
echo '<br><br>';
//Suchfunktion
function strip_paragraphs($text$needle) {
    
$text str_replace("\r"''$text);
    
$parts explode("\n\n"$text);

    
$result = array();
    foreach (
$parts as $part) {
        if (
strpos($part$needle) !== false) {
            
$result[] = $part;
        }
    }
    return 
implode("\n\n"$result);
}
//Nolimit ist das Datum welches ich per Post von einer HTML Seite übergebe.
$nolimit $_POST["nolimit"];
//Tisch A NO LIMIT
$filenameA "HH{$nolimit} A NoLimit.txt";

if (
file_exists($filenameA)) {
    echo 
'<p style="font-size: 14pt">Tisch-A NO LIMIT</p><br>';

    
$contents file_get_contents($filenameA);
    
$contents strip_paragraphs($contents'a Straight,');
           
if (empty(
$contents)) {
    echo 
'<p style="font-size: 14pt">Keine Strassen gefunden<br>______________________________</p>';
} else {
    echo 
nl2br($contents);
    echo
'<br>______________________________';
}
} else {
    print 
"<p style='font-size: 14pt'>Es wurde am {$nolimit} nicht am Tisch-A No Limit gespielt.<br>______________________________</p>";
}
//Tisch B NO LIMIT
$filenameB "HH{$nolimit} B NoLimit.txt";

if (
file_exists($filenameB)) {
    echo 
"<p style='font-size: 14pt'>{$nolimit} Tisch-B NO LIMIT</p><br>";

    
$contents file_get_contents($filenameB);
    
$contents strip_paragraphs($contents'a Straight,');   
        
if (empty(
$contents)) {
    echo 
'<p style="font-size: 14pt">Keine Strassen gefunden<br>______________________________</p>';
} else {
    echo 
nl2br($contents);
    echo
'<br>______________________________';    
}
} else {
    print 
"<p style='font-size: 14pt'>Es wurde am {$nolimit} nicht am Tisch-B No Limit gespielt.<br>______________________________</p>";
}
//Tisch C NO LIMIT
$filenameC "HH{$nolimit} C NoLimit.txt";

if (
file_exists($filenameC)) {
    echo 
"<p style='font-size: 14pt'>{$nolimit} Tisch-C NO LIMIT</p><br>";

    
$contents file_get_contents($filenameC);
    
$contents strip_paragraphs($contents'a Straight,');
            
if (empty(
$contents)) {
    echo 
'<p style="font-size: 14pt">Keine Strassen gefunden<br>______________________________</p>';
} else {
    echo 
nl2br($contents);
    echo
'<br>______________________________';
}
} else {
    print 
"<p style='font-size: 14pt'>Es wurde am {$nolimit} nicht am Tisch-C No Limit gespielt.<br>______________________________</p>";
}
...
hier hab ich gekürzt da das nur so weiter geht...
?>
Wir haben noch garkeinen Preis ausgemacht ^^
Wieviel bekommst Du für deine Hlife?


GRUSS
axseb1
 

Geändert von axseb1 (16.11.2011 um 12:24:12 Uhr)
axseb1 ist offline Threadstarter  
Alt 17.11.2011, 07:45:19   #12 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.423
Standard

Zitat:
Zitat von axseb1 Beitrag anzeigen
Also ich dachte man könnte das evtl. durch ein Dropdown Menü machen,
in dem man den Spielernamen in dessen Zeile der Suchbegriff steht auswählen kann.
Sorry, das kann ich grad leider nicht anbieten. Das würde ja einen mehrstufigen Prozess bedeuten, indem erstmal die ganzen möglichen Usernamen ermittelt werden, dann muss das entsprechende Formular bereitgestellt werden und schliesslich muss in der Verarbeitung nach der paragraphenweisen Aussortierung nochmal eine zeilenweise stattfinden. Wenn Du bis zum Wochenende Zeit hast, kann ich das dann machen (da wären das Skript und mehr Testdaten unglaublich hilfreich ).

Zitat:
Zitat von axseb1 Beitrag anzeigen
Wir haben noch garkeinen Preis ausgemacht ^^
Wieviel bekommst Du für deine Hlife?
Ich habe da gar keinen konkreten Preis vor Augen. Gib mir doch, was Du für angemessen hälst.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse

Geändert von tleilax (17.11.2011 um 07:45:39 Uhr)
tleilax ist offline  
Alt 17.11.2011, 12:29:21   #13 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Hast Du eine Idee wie man das sonst machen könnte?
Was anderes als ein Dropdown ist mir nicht eingefallen.
Leider habe ich lediglich solche Dateien zu Verfügung.
Es wird für jeden Tag sofern ein Spiel stattgefunden hat von der Software eine Datei angelegt.
In diesen Dateien sind die Hände wie ich Sie oben schon dargestellt habe untereinander aufgeführt.
Das einzige was ich raus genommen habe war der Tisch-Chat der User.
Den schreibt das Programm auch mit in die Text-Datei.

Hier nochmal ein Beispiel wie das aussieht ich habe nur aus Datenschutz gründen die Usernamen und den Chat-Text geändert sonst ist das Original wie es in der Text-Datei drin steht.

Mehr habe ich nicht zu Verfügung, es sei denn eine Tabelle mit über 1300 Usernamen wäre irgendwie hilfreich, ich würde es nur gerne vermeiden einen Spieler aus über 1300 aussuchen zu müssen, da bis jetzt nur ca. 50 davon wirklich aktiv dauerhaft spielen.
Ich möchte das Skript halt nur Zukunftssicher haben

Jeden Hand ist nach dem gleichen Muster aufgebaut:

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
Hand #409898-7 - 2011-10-30 16:10:09 Game: No Limit Hold'em (0+0) - Blinds 10/20 Site: 1. MultyChips-Pokerraum > Turniere alle 10 Minuten Table: 16:00 > 10K Preispool +10 - Table 1 Seat 4: User1 (930) Seat 5: User2 (940) Seat 6: User3 (1000) Seat 7: User4 (800) Seat 9: User5 (1070) Seat 10: User6 (1260) User1 has the dealer button User2 posts small blind 10 User3 posts big blind 20 ** Hole Cards ** User4 calls 20 User5 calls 20 User6 calls 20 User1 has timed out User1 folds User2 calls 10 User3 checks ** Flop ** [9d 8h As] User2 bets 100 User3 calls 100 User4 calls 100 User5 raises to 200 User6 calls 200 User2 calls 100 User3 folds User4 folds ** Turn ** [5s] User2 bets 720 (All-in) User5 calls 720 User6 calls 720 ** River ** [6c] User5 checks User6 checks ** Pot Show Down ** [9d 8h As 5s 6c] User2 shows [Ah 7h] (a Straight, Five to Nine) User5 shows [8c 8s] (Three of a Kind, Eights +A9) User6 shows [6h Ac] (Two Pair, Aces and Sixes +9) User2 wins Pot (3060) with a Straight User2: "Chat-Text" User6: "Chat-Text" User5: "Chat-Text" ** Deck ** [Ah Ks 7c 8c 6h 6d 7h Qc 7d 8s Ac 7s 9d 8h As 5s 6c] Hand #409901-8 - 2011-10-30 16:12:43 Game: No Limit Hold'em (0+0) - Blinds 15/30 Site: 1. MultyChips-Pokerraum > Turniere alle 10 Minuten Table: 16:00 > 10K Preispool +10 - Table 1 Seat 4: User1 (930) Seat 5: User2 (3060) Seat 6: User3 (880) Seat 7: User4 (680) Seat 9: User5 (130) Seat 10: User6 (320) User2 has the dealer button User3 posts small blind 15 User4 posts big blind 30 ** Hole Cards ** ... ... ... ** Pot Show Down ** [As 7h 4c 8h Ad] User1 shows [Ks Qh] (a Pair of Aces +KQ8) User2 shows [3d 5d] (a Pair of Aces +875) User3 shows [Jh Qd] (a Pair of Aces +QJ8) User6 shows [Kh 2d] (a Pair of Aces +K87) User1 wins Pot (180) with a Pair ** Deck ** [Jh 2c 7s Kh Ks 3d Qd 4h 6c 2d Qh 5d As 7h 4c 8h Ad] Hand #409902-9 - 2011-10-30 16:15:12 Game: No Limit Hold'em (0+0) - Blinds 15/30 Site: 1. MultyChips-Pokerraum > Turniere alle 10 Minuten Table: 16:00 > 10K Preispool +10 - Table 1 ... ... ... ** Pot Show Down ** [Jh Ac 2h Qd 4c] User1 shows [8h As] (a Pair of Aces +QJ8) User3 shows [9h 9d] (a Pair of Nines +AQJ) USer4 shows [5c Td] (High Card Ace +QJT5) User1 wins Pot (240) with a Pair User2: "Chat-Text" ** Deck ** [5d 5c 3h 8h 8d 9h 6d Td Tc As Qc 9d Jh Ac 2h Qd 4c]
Gruß
axseb1
 

Geändert von axseb1 (19.11.2011 um 13:50:08 Uhr)
axseb1 ist offline Threadstarter  
Alt 19.11.2011, 16:24:40   #14 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

Ich habe so eben festgestellt, das es eine API für die Software gibt, aber ob Die was helfen würde weis ich nicht.
Hier der Link zur Hilfe vom Software-Hersteller:
http://www.briggsoft.com/docs/pmaven..._Interface.htm

Gruss
axseb1
 

Geändert von axseb1 (20.11.2011 um 19:41:26 Uhr)
axseb1 ist offline Threadstarter  
Alt 22.11.2011, 22:27:02   #15 (permalink)
Benutzer
Benutzerbild von axseb1

ID: 419757
Lose-Remote

Reg: 19.06.2011
Beiträge: 69
Standard

OK, das funktioniert schon mal sehr gut, nur eines zieht noch nicht:

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
<?php
echo '<br><br>';
//Suchfunktion
function strip_paragraphs($text$needle$straight_needle null) {
    
$text str_replace("\r"''$text);
    
$parts explode("\n\n"$text);

    
$result = array();
    foreach (
$parts as $part) {
        if (
strpos($part$needle) !== false) {
            
$result[] = $part;
        }
    }

    if (
$straight_needle !== null) {
        
$temp = array();
        foreach (
$result as $part) {
            
$rows explode("\n"$part);
            foreach (
$rows as $row) {
                if (
strpos($row$needle) !== false and strpos($row$straight_needle) !== false) {
                    
$temp[] = $part;
                }
            }
        }
        
$result $temp;
    }
    return 
implode("\n\n"$result);
}

//Nolimit ist das Datum welches ich per Post von einer HTML Seite übergebe.
$date $_POST["date"];
$user = isset($_POST['user']) ? $_POST['user'] : null;

// Tische A-H (einfach erweiterbar)
foreach (str_split('ABCDEFGH') as $table) {
    
$filename "HH{$date} {$table} NoLimit.txt";

    if (
file_exists($filename)) {
        echo 
'<p style="font-size: 14pt">Tisch-'.$table.' NO LIMIT</p><br>';

        
$contents file_get_contents($filename);
        
$contents strip_paragraphs($contents'a Straight,' $user);
        if (empty(
$contents)) {
            echo 
'<p style="font-size: 14pt">Keine Strassen gefunden<br>______________________________</p>';
        } else {
            echo 
nl2br($contents);
            echo
'<br>______________________________';
        }
    } else {
        print 
"<p style='font-size: 14pt'>Es wurde am {$date} nicht am Tisch-{$table} No Limit gespielt.<br>______________________________</p>";
    }
}
?>
sobald ich hier das User rausnehme zeigt er mir alle Strassen an,
wenn ich das
$contents = strip_paragraphs($contents, 'a Straight,' $user);
wieder rein malche kommt garkeine Ausgabe mehr obwohl die Seite die per Post die Daten bringt doch alle 2 Variablen liefert.

Der Code der Datei die diese liefert sieht so aus:
HTML-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<html> <body> <form action="http://SERVER/nolimit.php" method="post"> <select name="user"> <option value="">User1</option> <option value="">User2</option> <option value="">User3</option> </select><input type="hidden" name="date" value="2011-11-19"> <input type="Submit" value="Absenden"> </form> </body> </html>
Verstehst Du warum das nicht funzt?

Die Zeilen die er in den Dateien finden soll sehen alle ungefähr so aus:
Code:
1:
User2 shows [8c 6h] (a Straight, Five to Nine)
Gruss
Sebastian
 

Geändert von axseb1 (22.11.2011 um 22:32:34 Uhr)
axseb1 ist offline Threadstarter  
 

Stichworte
php, php-scripte

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Hilfe bei einem Shop-Script. mauricepape Scripts & Software 7 27.04.2009 14:56:21
Brauche Hilfe bei einem Script Wermy Lose4Scripts 11 25.04.2008 17:41:00
2 mio für hilfe! bei einem Script! mydoys.de Lose4Scripts (erledigt) 7 03.04.2008 22:09:20
[ERLEDIGT] Hilfe bei ganz kleiner Script anpassung Raymath Lose4Scripts (erledigt) 0 08.09.2007 19:45:50
Brauche dringend Hilfe mit einem Script! bademantel Lose4Scripts (erledigt) 4 23.05.2006 14:49:58


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28:25 Uhr.