Revision history for PLG-Csv


Revision [23717]

Last edited on 2019-09-17 20:14:24 by ThePLG
Additions:
~- Add more cell formatting options: text/background color, alignment, bold, italic, ...
Deletions:
~- Add more cell formatting options: alignment, bold, italic, ...


Revision [23716]

Edited on 2019-09-03 08:09:34 by ThePLG
Additions:
||{border: 0px solid white;}##""==Swede==;""##||{border: 0px solid white;}##"" Chanelle;""##||{border: 0px solid white;}##"" Blomqvist;""##||{border: 0px solid white;}##"" Överhogdal 95\; 282 02 HÖRJA;""##||{border: 0px solid white;}##"" 61""##||
||{border: 0px solid white;}##""==German==;""##||{border: 0px solid white;}##"" Leah;""##||{border: 0px solid white;}##"" Ackermann;""##||{border: 0px solid white;}##"" Landhausstraße 73\; 15702 Königs Wusterhausen;""##||{border: 0px solid white;}##"" 25""##||
Deletions:
||{border: 0px solid white;}##""==Swede==;""##||{border: 0px solid white;}##"" Chanelle;""##||{border: 0px solid white;}##"" Blomqvist;""##||{border: 0px solid white;}##"" Överhogdal 95; 282 02 HÖRJA;""##||{border: 0px solid white;}##"" 61""##||
||{border: 0px solid white;}##""==German==;""##||{border: 0px solid white;}##"" Leah;""##||{border: 0px solid white;}##"" Ackermann;""##||{border: 0px solid white;}##"" Landhausstraße 73; 15702 Königs Wusterhausen;""##||{border: 0px solid white;}##"" 25""##||


Revision [23715]

Edited on 2019-09-03 07:43:10 by ThePLG
Additions:
%%
Deletions:
~- Would give this as result:
~~""<div><table cellpadding="5" cellspacing="1"><tbody>
<tr bgcolor="#eeeeee"><td> </td><td bgcolor="#cccccc">a</td><td bgcolor="#cccccc">b</td><td bgcolor="#cccccc">c</td></tr>
<tr bgcolor="#ffffee"><td bgcolor="#cccccc">1</td><td>d</td><td>e</td><td>f</td></tr>
<tr bgcolor="#eeeeee"><td bgcolor="#cccccc">2</td><td>g</td><td> </td><td>h</td></tr>
<tr bgcolor="#ffffee"><td bgcolor="#cccccc">3</td><td>I</td><td>J</td><td>K</td></tr>
</tbody></table>
</div>""
<?php
// convert inline csv data into a table.
// by OnegWR, may 2005, license GPL
$csv_printheader=0;
foreach(split("\n", $text) as $csv_n => $csv_line){
if(preg_match("/^#|^\s*$/",$csv_line)) continue;
if( $csv_printheader == 0){ print "<table cellpadding=\"5\" cellspacing=\"1\"><tbody>\n"; $csv_printheader=1; }
print ($csv_n%2) ? "<tr bgcolor=\"#ffffee\">" : "<tr bgcolor=\"#eeeeee\">";
foreach(split(";", $csv_line) as $csv_nn => $csv_cell){
if(preg_match("/^\s*$/",$csv_cell)){
print "<td> </td>";
}elseif(preg_match("/^(\"?)\*\*\*(.*?)\*\*\*(\"?)$/",$csv_cell,$matches)){
print "<td bgcolor=\"#cccccc\">".
$this->htmlspecialchars_ent($matches[2])."</td>";
}elseif(preg_match("/^(\"?)(.*?)(\"?)$/",$csv_cell,$matches)){
print "<td>".$this->htmlspecialchars_ent($matches[2])."</td>";
}else{
print "<td>".$this->htmlspecialchars_ent($csv_cell)."</td>";
}
}
print "</tr>\n";
}
if( $csv_printheader == 1) print "</tbody></table>\n";
?>%%


Revision [23714]

Edited on 2019-09-03 07:42:15 by ThePLG
Additions:
<tr bgcolor="#ffffee"><th style="background-color:#ccc;padding: 1px 10px 1px 10px; ">Norwegian</th><td style="padding: 1px 10px 1px 10px; text-align:right; "> Sigurd</td><td style="padding: 1px 10px 1px 10px; text-align:left; "> Nordmo</td><td style="padding: 1px 10px 1px 10px; text-align:center; "> Viggo Hansteens allé 119; 1524 MOSS</td><td style="padding: 1px 10px 1px 10px; "> 38</td></tr>
Deletions:
<tr bgcolor="#ffffee"><th style="background-color:#ccc;padding: 1px 10px 1px 10px; ">Norwegian</th><td style="padding: 1px 10px 1px 10px; text-align:right; "> Sigurd</td><td style="padding: 1px 10px 1px 10px; text-align:left; "> Nordmo</td><td style="padding: 1px 10px 1px 10px; text-align:center; "> [[Viggo]] Hansteens allé 119; 1524 MOSS</td><td style="padding: 1px 10px 1px 10px; "> 38</td></tr>


Revision [23713]

Edited on 2019-09-03 07:41:44 by ThePLG
Additions:
||{border: 0px solid white;}##""==Swede==;""##||{border: 0px solid white;}##"" Chanelle;""##||{border: 0px solid white;}##"" Blomqvist;""##||{border: 0px solid white;}##"" Överhogdal 95; 282 02 HÖRJA;""##||{border: 0px solid white;}##"" 61""##||
||{border: 0px solid white;}##""==German==;""##||{border: 0px solid white;}##"" Leah;""##||{border: 0px solid white;}##"" Ackermann;""##||{border: 0px solid white;}##"" Landhausstraße 73; 15702 Königs Wusterhausen;""##||{border: 0px solid white;}##"" 25""##||
""<table><tbody>
<tr bgcolor="#eeeeee"><td> </td><th style="background-color:#ccc;padding: 1px 10px 1px 10px; text-align:right; ">First Name</th><th style="background-color:#ccc;padding: 1px 10px 1px 10px; text-align:left; ">Last Name</th><th style="background-color:#ccc;padding: 1px 10px 1px 10px; text-align:center; ">Address</th><th style="background-color:#ccc;padding: 1px 10px 1px 10px; "> Age </th></tr>
<tr bgcolor="#ffffee"><th style="background-color:#ccc;padding: 1px 10px 1px 10px; ">Norwegian</th><td style="padding: 1px 10px 1px 10px; text-align:right; "> Sigurd</td><td style="padding: 1px 10px 1px 10px; text-align:left; "> Nordmo</td><td style="padding: 1px 10px 1px 10px; text-align:center; "> [[Viggo]] Hansteens allé 119; 1524 MOSS</td><td style="padding: 1px 10px 1px 10px; "> 38</td></tr>
<tr bgcolor="#eeeeee"><th style="background-color:#ccc;padding: 1px 10px 1px 10px; ">Swede</th><td style="padding: 1px 10px 1px 10px; text-align:right; "> Chanelle</td><td style="padding: 1px 10px 1px 10px; text-align:left; "> Blomqvist</td><td style="padding: 1px 10px 1px 10px; text-align:center; "> Överhogdal 95; 282 02 HÖRJA</td><td style="padding: 1px 10px 1px 10px; "> 61</td></tr>
<tr bgcolor="#ffffee"><th style="background-color:#ccc;padding: 1px 10px 1px 10px; ">German</th><td style="padding: 1px 10px 1px 10px; text-align:right; "> Leah</td><td style="padding: 1px 10px 1px 10px; text-align:left; "> Ackermann</td><td style="padding: 1px 10px 1px 10px; text-align:center; "> "Landhausstraße 73; 15702 Königs Wusterhausen"</td><td style="padding: 1px 10px 1px 10px; "> 25</td></tr>
<tr bgcolor="#eeeeee"><th style="background-color:#ccc;padding: 1px 10px 1px 10px; ">Hobbit</th><td style="padding: 1px 10px 1px 10px; text-align:right; "> Celendine</td><td style="padding: 1px 10px 1px 10px; text-align:left; "> "Gam gee"</td><td> </td><td style="padding: 1px 10px 1px 10px; "> 216</td></tr>
</tbody></table>""
Deletions:
||{border: 0px solid white;}##""==Swede==;""##||{border: 0px solid white;}##"" Chanelle;""##||{border: 0px solid white;}##"" Blomqvist;""##||{border: 0px solid white;}##"" Överhogdal 95\; 282 02 HÖRJA;""##||{border: 0px solid white;}##"" 61""##||
||{border: 0px solid white;}##""==German==;""##||{border: 0px solid white;}##"" Leah;""##||{border: 0px solid white;}##"" Ackermann;""##||{border: 0px solid white;}##"" Landhausstraße 73\; 15702 Königs Wusterhausen;""##||{border: 0px solid white;}##"" 25""##||


Revision [23712]

Edited on 2019-09-03 07:36:53 by ThePLG
Additions:
||{border: 0px solid white;}##""==German==;""##||{border: 0px solid white;}##"" Leah;""##||{border: 0px solid white;}##"" Ackermann;""##||{border: 0px solid white;}##"" Landhausstraße 73\; 15702 Königs Wusterhausen;""##||{border: 0px solid white;}##"" 25""##||
||(x:5){border: 0px solid white;}##""# Comments are possible. Yes, the following person is a Hobbit!""##||
||{border: 0px solid white;}##""==Hobbit==;""##||{border: 0px solid white;}##""Celendine;""##||{border: 0px solid white;}##"" "Gam gee";""##||{border: 0px solid white;}##"" ;""##||{border: 0px solid white;}##"" 216""##||
||{border: 0px solid white;}##""%%""##||
Deletions:
||##""==German==;""##||##"" Leah;""##||##"" Ackermann;""##||##"" Landhausstraße 73\; 15702 Königs Wusterhausen;""##||##"" 25""##||
||(x:5)##""# Comments are possible. Yes, the following person is a Hobbit!""##||
||##""==Hobbit==;""##||##""Celendine;""##||##"" "Gam gee";""##||##"" ;""##||##"" 216""##||
||##""%%""##||


Revision [23711]

Edited on 2019-09-03 07:34:55 by ThePLG
Additions:
|!|{border: 0px solid white;}||
||{border: 0px solid white;}##""%%(csv)""##||
||{border: 0px solid white;}##"";""##||{border: 0px solid white;}##""==/First Name/==;""##||{border: 0px solid white;}##""==\Last Name\==;""##||{border: 0px solid white;}##""==|Address|==;""##||{border: 0px solid white;}##""== Age ==""##||
||{border: 0px solid white;}##""==Norwegian==;""##||{border: 0px solid white;}##""Sigurd;""##||{border: 0px solid white;}##""Nordmo;""##||{border: 0px solid white;}##""[[Viggo]] Hansteens allé 119\; 1524 MOSS;""##||{border: 0px solid white;}##"" 38""##||
||{border: 0px solid white;}##""==Swede==;""##||{border: 0px solid white;}##"" Chanelle;""##||{border: 0px solid white;}##"" Blomqvist;""##||{border: 0px solid white;}##"" Överhogdal 95\; 282 02 HÖRJA;""##||{border: 0px solid white;}##"" 61""##||
Deletions:
|!|{border: 1px solid white; color: black;}||
||##""%%(csv)""##||
||##"";""##||##""==/First Name/==;""##||##""==\Last Name\==;""##||##""==|Address|==;""##||##""== Age ==""##||
||##""==Norwegian==;""##||##""Sigurd;""##||##""Nordmo;""##||##""[[Viggo]] Hansteens allé 119\; 1524 MOSS;""##||##"" 38""##||
||##""==Swede==;""##||##"" Chanelle;""##||##"" Blomqvist;""##||##"" Överhogdal 95\; 282 02 HÖRJA;""##||##"" 61""##||


Revision [23710]

Edited on 2019-09-03 07:25:21 by ThePLG
Additions:
|!|{border: 1px solid white; color: black;}||
Deletions:
|!|{border: 0px solid white; color: black;}||


Revision [23709]

Edited on 2019-09-03 07:24:31 by ThePLG
Additions:
|!|{border: 0px solid white; color: black;}||
||##""%%(csv)""##||
||##"";""##||##""==/First Name/==;""##||##""==\Last Name\==;""##||##""==|Address|==;""##||##""== Age ==""##||
||##""==Norwegian==;""##||##""Sigurd;""##||##""Nordmo;""##||##""[[Viggo]] Hansteens allé 119\; 1524 MOSS;""##||##"" 38""##||
||##""==Swede==;""##||##"" Chanelle;""##||##"" Blomqvist;""##||##"" Överhogdal 95\; 282 02 HÖRJA;""##||##"" 61""##||
||##""==German==;""##||##"" Leah;""##||##"" Ackermann;""##||##"" Landhausstraße 73\; 15702 Königs Wusterhausen;""##||##"" 25""##||
||(x:5)##""# Comments are possible. Yes, the following person is a Hobbit!""##||
||##""==Hobbit==;""##||##""Celendine;""##||##"" "Gam gee";""##||##"" ;""##||##"" 216""##||
||##""%%""##||
Deletions:
|!|{border: 0px solid white;}||
||""%%(csv)""||
||"";""||##""==/First Name/==;""##||##""==\Last Name\==;""##||""==|Address|==;""||""== Age ==""||
""==Norwegian==; Sigurd; Nordmo; [[Viggo]] Hansteens allé 119\; 1524 MOSS; 38""
""==Swede==; Chanelle; Blomqvist; Överhogdal 95\; 282 02 HÖRJA; 61""
""==German==; Leah; Ackermann; Landhausstraße 73\; 15702 Königs Wusterhausen; 25""
""# Comments are possible. Yes, the following person is a Hobbit!""
""==Hobbit==; Celendine; "Gam gee"; ; 216""
""%%""
~%%(csv)
~;***a***;"***b***";***c***
~***1***;d;"e";f
~#test
~
~***2***;g;;h
~***3***;I;J;"K"
~%%


Revision [23708]

Edited on 2019-09-03 07:13:13 by ThePLG
Additions:
|!|{border: 0px solid white;}||
||""%%(csv)""||
||"";""||##""==/First Name/==;""##||##""==\Last Name\==;""##||""==|Address|==;""||""== Age ==""||
""==Norwegian==; Sigurd; Nordmo; [[Viggo]] Hansteens allé 119\; 1524 MOSS; 38""
""==Swede==; Chanelle; Blomqvist; Överhogdal 95\; 282 02 HÖRJA; 61""
""==German==; Leah; Ackermann; Landhausstraße 73\; 15702 Königs Wusterhausen; 25""
""# Comments are possible. Yes, the following person is a Hobbit!""
""==Hobbit==; Celendine; "Gam gee"; ; 216""
""%%""
~%%(csv)
~;***a***;"***b***";***c***
~***1***;d;"e";f
~#test
~
~***2***;g;;h
~***3***;I;J;"K"
~%%
Deletions:
==Example==
~- The code:
~~%%(csv)
~~;***a***;"***b***";***c***
~~***1***;d;"e";f
~~#test
~~
~~***2***;g;;h
~~***3***;I;J;"K"
~~%%


Revision [23707]

Edited on 2019-09-03 06:49:51 by ThePLG
Additions:
~- 2005-05-09 Published on main site - OnegWR
~- 2019-09-03 Code clean-up, remove deprecated code, more features, fix bugs - ThePLG
Deletions:
~- Published on main site (2005-05-09) - OnegWR


Revision [23706]

Edited on 2019-09-03 06:48:23 by ThePLG
Additions:
==TODO==
~- text in quotes needs to be preserved e.g., whitespace, no splitting on semi-colons
~- camel links are really hard to see
~- Add more cell formatting options: alignment, bold, italic, ...
Deletions:
==To Do==
~- Add more cell options: alignment, bold, Italic, ...
~- Fix the ';' in a cell (""&gt;"",...)
==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.


Revision [23705]

Edited on 2019-09-03 06:45:53 by ThePLG
Additions:

~- Rows of the table alternate background color
~- Column alignment: left, right, center or default
~- Table headers/footers using wiki style heading markers
~- Add comments in between data by starting a line with (#); blank lines are ignored
~- Cells can be surrounded in double quotes (")
~- It is possible to escape semi-colons with a backslash (\), that should appear in text
~- Camel links in cell text are linked to their wiki internal pages
Deletions:
~- 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.


Revision [23704]

Edited on 2019-09-03 06:37:31 by ThePLG
Additions:
This formatter converts inline csv data into a table.
Deletions:
~- This formatter would allow you to convert inline csv data into a table.


Revision [23703]

Edited on 2019-09-03 06:35:01 by ThePLG
Deletions:
==What==


Revision [23651]

Edited on 2019-09-02 20:30:29 by BrianKoontz
Deletions:
test


Revision [23650]

Edited on 2019-09-02 20:27:50 by BrianKoontz
Additions:
test
if(preg_match("/^#|^\s*$/",$csv_line)) continue;
if( $csv_printheader == 0){ print "<table cellpadding=\"5\" cellspacing=\"1\"><tbody>\n"; $csv_printheader=1; }
print ($csv_n%2) ? "<tr bgcolor=\"#ffffee\">" : "<tr bgcolor=\"#eeeeee\">";
foreach(split(";", $csv_line) as $csv_nn => $csv_cell){
if(preg_match("/^\s*$/",$csv_cell)){
print "<td> </td>";
}elseif(preg_match("/^(\"?)\*\*\*(.*?)\*\*\*(\"?)$/",$csv_cell,$matches)){
print "<td bgcolor=\"#cccccc\">".
$this->htmlspecialchars_ent($matches[2])."</td>";
}elseif(preg_match("/^(\"?)(.*?)(\"?)$/",$csv_cell,$matches)){
print "<td>".$this->htmlspecialchars_ent($matches[2])."</td>";
}else{
print "<td>".$this->htmlspecialchars_ent($csv_cell)."</td>";
}
}
print "</tr>\n";
Deletions:
if(preg_match("/^#|^\s*$/",$csv_line)) continue;
if( $csv_printheader == 0){ print "<table cellpadding=\"5\" cellspacing=\"1\"><tbody>\n"; $csv_printheader=1; }
print ($csv_n%2) ? "<tr bgcolor=\"#ffffee\">" : "<tr bgcolor=\"#eeeeee\">";
foreach(split(";", $csv_line) as $csv_nn => $csv_cell){
if(preg_match("/^\s*$/",$csv_cell)){
print "<td> </td>";
}elseif(preg_match("/^(\"?)\*\*\*(.*?)\*\*\*(\"?)$/",$csv_cell,$matches)){
print "<td bgcolor=\"#cccccc\">".
$this->htmlspecialchars_ent($matches[2])."</td>";
}elseif(preg_match("/^(\"?)(.*?)(\"?)$/",$csv_cell,$matches)){
print "<td>".$this->htmlspecialchars_ent($matches[2])."</td>";
}else{
print "<td>".$this->htmlspecialchars_ent($csv_cell)."</td>";
}
}
print "</tr>\n";


Revision [23643]

The oldest known version of this page was created on 2019-08-30 18:58:10 by ThePLG
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki