Updated readme
This commit is contained in:
249
README.md
249
README.md
@@ -1,5 +1,4 @@
|
|||||||
chessParser
|
##PGN to PHP array parser
|
||||||
===========
|
|
||||||
PHP class for conversion of Chess PGN files to PHP array or JSON.
|
PHP class for conversion of Chess PGN files to PHP array or JSON.
|
||||||
|
|
||||||
This is the chess parser used in DHTML Chess at dhtml-chess.com
|
This is the chess parser used in DHTML Chess at dhtml-chess.com
|
||||||
@@ -8,7 +7,245 @@ This is the chess parser used in DHTML Chess at dhtml-chess.com
|
|||||||
|
|
||||||
Example of use:
|
Example of use:
|
||||||
|
|
||||||
<?php
|
```PHP
|
||||||
$parser = new PgnParser('my-games.pgn');
|
<?php
|
||||||
echo json_encode($parser->getGames());
|
$parser = new PgnParser('my-games.pgn');
|
||||||
?>
|
echo json_encode($parser->getGames());
|
||||||
|
?>
|
||||||
|
```
|
||||||
|
|
||||||
|
This will give you data in this format:
|
||||||
|
|
||||||
|
```JSON
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"metadata":{
|
||||||
|
"blackelo":"2400",
|
||||||
|
"opening":"Grunfeld",
|
||||||
|
"time":"10:41:37",
|
||||||
|
"variation":"Three Knights Variation",
|
||||||
|
"whiteelo":"2400",
|
||||||
|
"whitetype":"human",
|
||||||
|
"blacktype":"human",
|
||||||
|
"castle":1
|
||||||
|
},
|
||||||
|
"event":"Computer chess game",
|
||||||
|
"site":"BORROW-PC",
|
||||||
|
"date":"2013.01.19",
|
||||||
|
"round":"?",
|
||||||
|
"white":"White player",
|
||||||
|
"black":"Black player",
|
||||||
|
"result":"*",
|
||||||
|
"eco":"D90",
|
||||||
|
"timecontrol":"300",
|
||||||
|
"termination":"unterminated",
|
||||||
|
"plycount":"21",
|
||||||
|
"fen":"rnbqkbnr\/pppppppp\/8\/8\/8\/8\/PPPPPPPP\/RNBQKBNR w KQkq - 0 1",
|
||||||
|
"moves":[
|
||||||
|
{
|
||||||
|
"m":"e4",
|
||||||
|
"from":"e2",
|
||||||
|
"to":"e4",
|
||||||
|
"fen":"rnbqkbnr\/pppppppp\/8\/8\/4P3\/8\/PPPP1PPP\/RNBQKBNR b KQkq - 0 1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"d5",
|
||||||
|
"variations":[
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"m":"e5",
|
||||||
|
"comment":"Test comment before",
|
||||||
|
"from":"e7",
|
||||||
|
"to":"e5",
|
||||||
|
"fen":"rnbqkbnr\/pppp1ppp\/8\/4p3\/4P3\/8\/PPPP1PPP\/RNBQKBNR w KQkq - 0 2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nf3",
|
||||||
|
"comment":"Test comment after",
|
||||||
|
"from":"g1",
|
||||||
|
"to":"f3",
|
||||||
|
"fen":"rnbqkbnr\/pppp1ppp\/8\/4p3\/4P3\/5N2\/PPPP1PPP\/RNBQKB1R b KQkq - 1 2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nc6",
|
||||||
|
"from":"b8",
|
||||||
|
"to":"c6",
|
||||||
|
"fen":"r1bqkbnr\/pppp1ppp\/2n5\/4p3\/4P3\/5N2\/PPPP1PPP\/RNBQKB1R w KQkq - 2 3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Bc4",
|
||||||
|
"from":"f1",
|
||||||
|
"to":"c4",
|
||||||
|
"fen":"r1bqkbnr\/pppp1ppp\/2n5\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQK2R b KQkq - 3 3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nf6",
|
||||||
|
"variations":[
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"m":"d6",
|
||||||
|
"from":"d7",
|
||||||
|
"to":"d6",
|
||||||
|
"fen":"r1bqkbnr\/ppp2ppp\/2np4\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQK2R w KQkq - 0 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"O-O",
|
||||||
|
"comment":"(O-O Ng8-f6 Nb1-c3 Nc6-d4 Nf3-g5 d6-d5 e4xd5 h7-h6 Ng5-e4 c7-c6 d5xc6 Nf6xe4 Nc3xe4 b7xc6) +0.48\/11 8",
|
||||||
|
"from":"e1",
|
||||||
|
"to":"g1",
|
||||||
|
"fen":"r1bqkbnr\/ppp2ppp\/2np4\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 b kq - 1 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nf6",
|
||||||
|
"from":"g8",
|
||||||
|
"to":"f6",
|
||||||
|
"fen":"r1bqkb1r\/ppp2ppp\/2np1n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 w kq - 2 5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nc3",
|
||||||
|
"comment":"Last move in variation",
|
||||||
|
"from":"b1",
|
||||||
|
"to":"c3",
|
||||||
|
"fen":"r1bqkb1r\/ppp2ppp\/2np1n2\/4p3\/2B1P3\/2N2N2\/PPPP1PPP\/R1BQ1RK1 b kq - 3 5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"from":"g8",
|
||||||
|
"to":"f6",
|
||||||
|
"fen":"r1bqkb1r\/pppp1ppp\/2n2n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQK2R w KQkq - 4 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"O-O",
|
||||||
|
"comment":"Variation ended",
|
||||||
|
"from":"e1",
|
||||||
|
"to":"g1",
|
||||||
|
"fen":"r1bqkb1r\/pppp1ppp\/2n2n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 b kq - 5 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"d6",
|
||||||
|
"from":"d7",
|
||||||
|
"to":"d6",
|
||||||
|
"fen":"r1bqkb1r\/ppp2ppp\/2np1n2\/4p3\/2B1P3\/5N2\/PPPP1PPP\/RNBQ1RK1 w kq - 0 5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"from":"d7",
|
||||||
|
"to":"d5",
|
||||||
|
"fen":"rnbqkbnr\/ppp1pppp\/8\/3p4\/4P3\/8\/PPPP1PPP\/RNBQKBNR w KQkq - 0 2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"exd5",
|
||||||
|
"comment":"Variation ended",
|
||||||
|
"from":"e4",
|
||||||
|
"to":"d5",
|
||||||
|
"fen":"rnbqkbnr\/ppp1pppp\/8\/3P4\/8\/8\/PPPP1PPP\/RNBQKBNR b KQkq - 0 2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nf6",
|
||||||
|
"from":"g8",
|
||||||
|
"to":"f6",
|
||||||
|
"fen":"rnbqkb1r\/ppp1pppp\/5n2\/3P4\/8\/8\/PPPP1PPP\/RNBQKBNR w KQkq - 1 3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"c4",
|
||||||
|
"variations":[
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"m":"Nf3?!",
|
||||||
|
"from":"g1",
|
||||||
|
"to":"f3",
|
||||||
|
"fen":"rnbqkb1r\/ppp1pppp\/5n2\/3P4\/8\/5N2\/PPPP1PPP\/RNBQKB1R b KQkq - 2 3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Qxd5",
|
||||||
|
"from":"d8",
|
||||||
|
"to":"d5",
|
||||||
|
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/3q4\/8\/5N2\/PPPP1PPP\/RNBQKB1R w KQkq - 0 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nc3",
|
||||||
|
"from":"b1",
|
||||||
|
"to":"c3",
|
||||||
|
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/3q4\/8\/2N2N2\/PPPP1PPP\/R1BQKB1R b KQkq - 1 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Qa5",
|
||||||
|
"from":"d5",
|
||||||
|
"to":"a5",
|
||||||
|
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/q7\/8\/2N2N2\/PPPP1PPP\/R1BQKB1R w KQkq - 2 5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"d4",
|
||||||
|
"from":"d2",
|
||||||
|
"to":"d4",
|
||||||
|
"fen":"rnb1kb1r\/ppp1pppp\/5n2\/q7\/3P4\/2N2N2\/PPP2PPP\/R1BQKB1R b KQkq - 0 5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"from":"c2",
|
||||||
|
"to":"c4",
|
||||||
|
"fen":"rnbqkb1r\/ppp1pppp\/5n2\/3P4\/2P5\/8\/PP1P1PPP\/RNBQKBNR b KQkq - 0 3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Bf5",
|
||||||
|
"comment":"Variation ended",
|
||||||
|
"variations":[
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"m":"Nbd7",
|
||||||
|
"from":"b8",
|
||||||
|
"to":"d7",
|
||||||
|
"fen":"r1bqkb1r\/pppnpppp\/5n2\/3P4\/2P5\/8\/PP1P1PPP\/RNBQKBNR w KQkq - 1 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nf3",
|
||||||
|
"from":"g1",
|
||||||
|
"to":"f3",
|
||||||
|
"fen":"r1bqkb1r\/pppnpppp\/5n2\/3P4\/2P5\/5N2\/PP1P1PPP\/RNBQKB1R b KQkq - 2 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nb6",
|
||||||
|
"from":"d7",
|
||||||
|
"to":"b6",
|
||||||
|
"fen":"r1bqkb1r\/ppp1pppp\/1n3n2\/3P4\/2P5\/5N2\/PP1P1PPP\/RNBQKB1R w KQkq - 3 5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"d4",
|
||||||
|
"from":"d2",
|
||||||
|
"to":"d4",
|
||||||
|
"fen":"r1bqkb1r\/ppp1pppp\/1n3n2\/3P4\/2PP4\/5N2\/PP3PPP\/RNBQKB1R b KQkq d3 0 5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"g6",
|
||||||
|
"from":"g7",
|
||||||
|
"to":"g6",
|
||||||
|
"fen":"r1bqkb1r\/ppp1pp1p\/1n3np1\/3P4\/2PP4\/5N2\/PP3PPP\/RNBQKB1R w KQkq - 0 6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nc3",
|
||||||
|
"from":"b1",
|
||||||
|
"to":"c3",
|
||||||
|
"fen":"r1bqkb1r\/ppp1pp1p\/1n3np1\/3P4\/2PP4\/2N2N2\/PP3PPP\/R1BQKB1R b KQkq - 1 6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Qd6",
|
||||||
|
"from":"d8",
|
||||||
|
"to":"d6",
|
||||||
|
"fen":"r1b1kb1r\/ppp1pp1p\/1n1q1np1\/3P4\/2PP4\/2N2N2\/PP3PPP\/R1BQKB1R w KQkq - 2 7"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"from":"c8",
|
||||||
|
"to":"f5",
|
||||||
|
"fen":"rn1qkb1r\/ppp1pppp\/5n2\/3P1b2\/2P5\/8\/PP1P1PPP\/RNBQKBNR w KQkq - 1 4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"m":"Nf3",
|
||||||
|
"from":"g1",
|
||||||
|
"to":"f3",
|
||||||
|
"fen":"rn1qkb1r\/ppp1pppp\/5n2\/3P1b2\/2P5\/5N2\/PP1P1PPP\/RNBQKB1R b KQkq - 2 4"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
Reference in New Issue
Block a user