$pvirg) {
$sep = ',';
$hs = ',';
} else {
$sep = ';';
$hs = ';';
$virg = $pvirg;
}
if ($tab > $virg) {
$sep = "\t";
$hs = "\t";
}
$t = preg_replace('/\r?\n/', "\n",
preg_replace('/[\r\n]+/', "\n", $t));
// un separateur suivi de 3 guillemets attention !
// attention au ; suceptible d'etre confondu avec un separateur
// on substitue un # et on remplacera a la fin
$t = preg_replace("/([\n$sep])\"\"\"/", '\\1""#', $t);
$t = str_replace('""', '"#', $t);
preg_match_all('/"[^"]*"/', $t, $r);
foreach ($r[0] as $cell) {
$t = str_replace($cell,
str_replace($sep, $hs,
str_replace("\n", "
",
substr($cell, 1, -1))),
$t);
}
list($entete, $corps) = explode("\n", $t, 2);
$caption = '';
// sauter la ligne de tete formee seulement de separateurs
if (substr_count($entete, $sep) == strlen($entete)) {
list($entete, $corps) = explode("\n", $corps, 2);
}
// si une seule colonne, en faire le titre
if (preg_match("/^([^$sep]+)$sep+\$/", $entete, $l)) {
$caption = "\n||" . $l[1] . "|";
list($entete, $corps) = explode("\n", $corps, 2);
}
// si premiere colonne vide, le raccourci doit quand meme produire