EOF; print $form ; } else { $ext=array() ; $usedExt=array() ; $cards=array() ; $csvfile = fopen('cards.csv', "r") or die( "unable to open card file" ) ; while( $line = fgetcsv( $csvfile ) ){ array_push( $ext, $line[0] ); array_push( $cards, $line[2] ) ; } $turns = 0 ; $winner = "" ; $opp = ""; $first = "" ; $data = htmlspecialchars(trim( $_POST["log"] ) ) ; $data_ar = preg_split("/\r\n|\n|\r/", $data); foreach ($data_ar as $line ) { if( strpos( $line, "ends turn" ) ) { static $turns ; $turns++ ; } if ( preg_match( '/^([a-zA-Z0-9]+) ends turn 1$/', $line, $match ) ) { $first = $match[1] ; } if( $opp==='') { if( preg_match( '/^Attacked ([a-zA-Z0-9]+) for/', $line, $match ) ) { $opp=$match[1] ; } } if( preg_match( '/^Played <color=#[A-Z0-9]+>(.*)<\/color>/', $line, $match ) ) { guessExpansion( $match[1], $cards, $ext ) ; } if ( strpos( $line, "===" ) ) { $line_a = explode( " ", "$line" ) ; $winner = $line_a[9] ; } if( preg_match( '/^Acquired <color=#[A-Z0-9]+>(.*)<\/color>/', $line, $match ) ) { $acLine = explode( " ", $previousLine ) ; $p=$acLine[8] ; echo "$$p buy $match[1]" ; } $previousLine=$line ; } echo "
" ; echo "\n"; echo "\n"; echo "\n"; $result = array( "first player" => $first, "winner" => $winner, "opp" => $opp, "num_turns" => $turns , "expansions" => array_values( array_unique($usedExt) ), ) ; print json_encode( $result, JSON_PRETTY_PRINT ); print "

in csv format:

" ; print "1st player, winner, opponent, #turns, expansions
" ; print "$first,$winner, $opp,$turns, " . implode( " ", array_values( array_unique($usedExt) ) ); } function guessExpansion( $card, $cards, $ext ) { global $usedExt ; if( $key = array_search( $card, $cards)){ array_push( $usedExt, $ext[$key] ) ; } }