Salut,
[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.1"]
[White "Etchegaray, Patrice"]
[Black "Georgiev, Krum"]
[Result "1-0"]
[ECO "B22"]
[WhiteElo "2368"]
[BlackElo "2488"]
[PlyCount "77"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]
1. e4 c5 2. c3 ...
[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.2"]
[White "Leygue, Dominique"]
[Black "Robin, Samy"]
[Result "0-1"]
[ECO "C47"]
[WhiteElo "2321"]
[BlackElo "2355"]
[PlyCount "80"]
[EventDate "21.??.??"]
[WhiteTeam "Saint Affrique"]
1. e4 e5 2. Nf3 Nc6 3. Nc3...
[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.3"]
[White "Blanc, Sebastien"]
[Black "Boyd, Stephen"]
[Result "0-1"]
[ECO "A42"]
[WhiteElo "2137"]
[BlackElo "2333"]
[PlyCount "106"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]
1. d4 g6 2. c4 Bg7...
[...]
Zut, je pensais te donner la réponse mais je viens de remarquer qu'au moins une ligne
entre [xxx] diffère d'un bloc à l'autre et en ce cas ma solution tombe à l'eau lol
Je te la mets au cas ou ce serait une erreur de ta part lors de l'édition de ton post mais...
// Cette fonction te retourne un texte ou les [*Clefs] sont supprimées, les ' " ' deviennent
// délimteurs de champs et ou ; devient fin de ligne.
//
function makeFormat($strArg = false, $delim = false)
{
if (!is_string($strArg)) return false;
if ($delim === false) $delim = "";
$txt = $strArg;
// N'étant pas un pro des PCRE y a sans doute mieux mais bon,
// dans un premier temps... c'est mieux que rien ;)
//
$pattern = "#(\[[\w+]*?")#";
$txt = preg_replace($pattern, "$delim", $txt);
$pattern = "#("\])#";
$txt = preg_replace($pattern, "$delim", $txt);
$pattern = "#(\d+\.[ ].*\d.*?)#";
$txt = preg_replace($pattern, $delim."$1".$delim.";", $txt);
return $txt;
}
[*] J'ai considéré chacun de tes [xxx] comme un champs (une clef) d'ou ma remarque plus haut.
S'ils diffèrent quelque fois cette solution n'est pas la bonne, désolé.
Si au contraire tu as fais une erreur à l'édition la solution est la bonne.
Te suffira juste de l'importer, d'indiquer les délimiteurs et le tour devrait être jouer.
Bon code @+
PS1: Désolé si je t'ai fais une fausse joie mais j'ai vu le problème mentionné que bien trop tard.
PS2: Gaffe aussi à ton charset, charger le fichier ainsi peut te poser des blems plus tard.
EDIT: Petite modif sur les délimiteurs de champs. Testé avec phpMyAdmin et le résultat est nickel.