Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
PHP if (($lines[$x] == "\r") || ($lines[$x] == "")) 2x true möglich?
- Ersteller smallwall
- Erstellt am
Trotzdem funktioniert die Klasse nicht bei mir.
funktioniert besser.
PHP:
if ((strpos($line, '[') === 0) && (ctype_alpha(substr($line,1,1)) === true)) {
$infoName = substr($line, 1, strpos($line, ' ') - 1);
$infoValue = substr($line, strpos($line, '"') + 1, -2);
if (!empty($game)) {
$game->addInfo($infoName, $infoValue);
}
funktioniert besser.
PHP:
function readGamesFromPgn($file) {
if (!file_exists($file))
return [];
$content = file_get_contents($file);
$lines = explode("\n", $content);
$games = [];
$game = null;
foreach ($lines as $line) {
// Neues Spiel gefunden
if (preg_match('/(\[Event "(.*)"\])/', $line)) {
// if (strpos($line, '[Event') !== false) {
if (!empty($game)) {
$games[] = $game;
}
$game = new GameOfPgn();
}
if ((strpos($line, '[') === 0) && (ctype_alpha(substr($line,1,1)) === true)) {
$infoName = substr($line, 1, strpos($line, ' ') - 1);
$infoValue = substr($line, strpos($line, '"') + 1, -2);
if (!empty($game)) {
$game->addInfo($infoName, $infoValue);
}
} else {
if (!empty($line) && !empty($game)) {
$game->addMoves($line);
}
}
}
if (!empty($game)) {
$games[] = $game;
}
return $games;
}
Deine produziert dieses:
PHP:
Fatal error: Can't use function return value in write context in /home/devphpde/public_html/pgn/class.game.php on line 53
PHP:
if (!empty(trim($line)) && !empty($game)) {
Edit: Jetzt funktioniert die Funktion auch nicht mehr... never touch a running file
Edit2: Jo das liegt am trim und nicht am preg_match.
if (!empty($line) && !empty($game)) {
Zuletzt bearbeitet:
M
mambokurt
Gast
smallwall schrieb:Da bin ich ja auf meinen Hoster angewiesen. Ich kann ihn ja mal anschreiben, ob er mal upgraden kann.
Viel Erfolg dabei...
Den Fehler kannst du beheben indem du einfach
PHP:
$tmp = trim($line);
if (!empty($tmp) && !empty($game)) {
draus machst (vorrausgesetzt $tmp gibts noch nicht).