===== CSV 2 Table formatter =====
>>==See Also==
~- [[OnegWRNoDefaultCodeClass | NoDefaultCodeClass]] - CSS class workaround.
~- ShowCsv - HandleCsvData - More advanced code by NilsLindenberg.
>>//NOT Included in any Wikka version yet//{{lastedit}}
==What==
~- This formatter would allow you to convert inline csv data into a table.
==Example==
~- The code:
~~%%(csv)
~~;***a***;"***b***";***c***
~~***1***;d;"e";f
~~#test
~~
~~***2***;g;;h
~~***3***;I;J;"K"
~~%%
~- Would give this as result:
~~""
""
==Features==
~- Alternating row background. (hint: only use odd/even lines for a fast alternative layout)
~- Ignores empty lines or lines starting with an '#' (comments).
~~To not disturb the alternated layout: add 2 (comment)lines...
~- The " before and after a cell is auto-removed.
~- You can make the background darker by wrapping the cell in "***"-tags.
==To Do==
~- Add more cell options: alignment, bold, Italic, ...
~- Find a way to implement a "\n" in a cell (every call to ""$this->Format()"" is another include of formatters/wakka.php, so I would like to find another way...)
~- Fix the ';' in a cell ("">"",...)
~- Use more CSS classes
==Installation==
~- Copy the code below into a file named ##formatters/csv.php##
~- And give it the same file permissions as the other files in that directory.
==Code==
%%(php)
$csv_line){
if(preg_match("/^#|^\s*$/",$csv_line)) continue;
if( $csv_printheader == 0){ print "\n"; $csv_printheader=1; }
print ($csv_n%2) ? "" : "
";
foreach(split(";", $csv_line) as $csv_nn => $csv_cell){
if(preg_match("/^\s*$/",$csv_cell)){
print " | ";
}elseif(preg_match("/^(\"?)\*\*\*(.*?)\*\*\*(\"?)$/",$csv_cell,$matches)){
print "".
$this->htmlspecialchars_ent($matches[2])." | ";
}elseif(preg_match("/^(\"?)(.*?)(\"?)$/",$csv_cell,$matches)){
print "".$this->htmlspecialchars_ent($matches[2])." | ";
}else{
print "".$this->htmlspecialchars_ent($csv_cell)." | ";
}
}
print "
\n";
}
if( $csv_printheader == 1) print "
\n";
?>%%
==History==
~- Published on main site (2005-05-09) - OnegWR
==Bugs==
~- Remove the the default yellow background via the [[OnegWRNoDefaultCodeClass | NoDefaultCodeClass]] workaround.
~- If there is an ';' within a cell, this script will make 2 cell from it.
----
CategoryUserContributions