Forum ChuWiki

tableaux : une solution

Bonjour a tous,

voici une solution pour creer des tableaux dans chuwiki. Cela fonctionne bien mais doit certainement pouvoir etre ameliore.
Toutes les remarques et suggestions sont les bienvenues :)

Je n'ai modifie que le fichier classwiki2html.chu.php dans la latest version

//dans la fonction wiki2xhtmlChu() :

$this->setOpt('active_tables',1); # activation des tableaux

//dans la fonction function __getLine($i,&$type,&$mode)

//tableau
# ouverture tableau avec +_
elseif ($this->getOpt('active_tables') && preg_match('/^([+])([_])(.*)$/',$line,$cap) ) {
$type = 'tableStart';
$line = "\n<table cellpadding=\"3\" bordercolor=\"#000000\" border=\"1\">\n";
}
//tableau
# fermeture tableau avec _+
elseif ($this->getOpt('active_tables') && preg_match('/^([_])([+])(.*)$/',$line,$cap) ) {
$type = 'tableEnd';
$line = "\n</table>\n";
}

//Tableau
elseif ($this->getOpt('active_tables') && preg_match('/^([\||\^] .*)$/',$line,$cap)) {
$type = 'cell';

//cellule classique commence par |
if(preg_match('/^([\|] .*)$/',$line,$cap)){

//premiere cellule en debut de ligne
$line = "<td>".substr($line, 2);

//cellules suivantes sauf derniere cellule d'une ligne
$line = ereg_replace (" \| ", "</td> <td>", $line );

//derniere cellule en fin de ligne
$lineLength = strlen($line);
$offset = $lineLength - 1;
$line = substr_replace ($line, "</td>", $offset);
}//cellule classique

//cellule titre de colonne de tableau
elseif(preg_match('/^([\^] .*)$/',$line,$cap)){
//premiere cellule en debut de ligne
$tag = "<td align=\"center\" bgcolor=\"#a90134\"><font color=\"#ffffff\"><strong>";
$line = $tag.substr($line, 2);

//cellules suivantes sauf derniere cellule d'une ligne
$line = ereg_replace (" \^ ", "</strong></font></td> <td align=\"center\" bgcolor=\"#a90134\"><font color=\"#ffffff\"><strong>", $line );

//derniere cellule en fin de ligne
$lineLength = strlen($line);
$offset = $lineLength - 1;
$line = substr_replace ($line, "</strong></font></td>", $offset);
}//cellule titre

//ligne de tableau
$line = "<tr>".$line."</tr>";
}

Modifier ensuite le fichier rules.html pour l'aide utilisateur

See you

philippe, le 2007-06-04 à 02:19

Je n'ai pas testé mais merci de cette contribution :)

Vincent, le 2007-06-04 à 22:44

Retour à la liste des sujets

Poster une réponse

RSS

À propos