/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2019 *
+ * Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$lignes = array();
$debut_table = $summary = '';
$l = 0;
- $numeric = true;
// Traiter chaque ligne
$reg_line1 = ',^(\|(' . _RACCOURCI_TH_SPAN . '))+$,sS';
$reg_line_all = ',^(' . _RACCOURCI_TH_SPAN . ')$,sS';
$hc = $hl = array();
+ $thead_ok = false;
foreach ($regs[1] as $ligne) {
$l++;
// Gestion de la premiere ligne :
- if ($l == 1) {
- // - <caption> et summary dans la premiere ligne :
+ if (!$thead_ok and $l == 1) {
+ // - <caption> et summary dans la premiere ligne (seulement si on n'a pas dépassé le premier thead) :
// || caption | summary || (|summary est optionnel)
if (preg_match(',^\|\|([^|]*)(\|(.*))?$,sS', rtrim($ligne, '|'), $cap)) {
$cap = array_pad($cap, 4, null);
$debut_table .= "<thead><tr class='row_first'>" .
$ligne . "</tr></thead>\n";
$l = 0;
+ $thead_ok = true;
}
}
}
// du nombre de colonnes dans la premiere ligne.
// Reperer egalement les colonnes numeriques pour les cadrer a droite
$rowspans = $numeric = array();
- $n = count($lignes[0]);
$k = count($lignes);
+ $n = $k ? count($lignes[0]) : 0;
+
// distinguer les colonnes numeriques a point ou a virgule,
// pour les alignements eventuels sur "," ou "."
$numeric_class = array(