Редактируя очередную таблицу при написании заметки, я подумал, а может можно этот процесс как-то ускорить, а уж очень не удобно и долго создавать таблицу при помощи тегов <tr> <td>.
Возможно, есть плагин для wordpress, но я решил написать небольшой скрипт на perl. Выбрал perl потому что когда-то уже писал на нём, и мне показалось, что скрипт должен получиться небольшой и очень простой.
Скрипт должен обрабатывать текстовый файл, в котором таблица задана в формате подобном Textile:
| A | B | C | | 1 | 2 | 3 | | a | b | c |
На выходе должна получиться html таблица
<table> <tr> <td>A</td> <td>B</td> <td>C</td> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>a</td> <td>b</td> <td>c</td> </tr> </table> |
Которая отображается вот так:
A | B | C |
1 | 2 | 3 |
a | b | c |
А вот и сам скрипт:
#!/usr/bin/perl my $table = 0; while(<>) { if(/\|/) { if( $table == 0 ) { print("<table>\r\n"); $table = 1; } my @row = split('\|'); print("<tr>"); foreach(@row[1..$#row-1]) { print("<td>$_</td>"); } print("</tr>\r\n"); } else { if( $table != 0 ) { print("</table>\r\n"); $table = 0; } } } |