Zamiana tekstu na tabelę w HTML cz. 2
18 kwietnia 2008
Okazało się, że poprzedni wpis nie wyczerpuje wszystkich możliwości. Załóżmy, że mamy poprawnie stworzoną tabelę w Wordzie i trzeba ją przenieść na swoją witrynę. Są skrypty, które potrafią czyścić zbędne formatowanie Worda. Tak jak pisałem we wcześniejszym wpisie, korzystam na stronie z edytora WYSIWYG FCKeditor i on ma opcję wklejania z Worda z usuwaniem niepotrzebnego kodu. Ale.. Już jakiś czas nie musiałem się z tym męczyć i wypadło mi z głowy, że edytor nie jest doskonały (o czym dzisiaj boleśnie sobie przypomniałem). Zostają chociażby tagi odpowiedzialne za centrowanie, wielkość i wygląd czcionek, szerokość kolumn itd. Trzeba to poprawiać ręcznie lub przez jakieś znajdź/zamień.
Ale przecież nie po to stworzono komputery żeby nam utrudniały pracę
A więc jak poradzić sobie z problemem? Proponuję skopiować tabelkę i wkleić ją do zwykłego notatnika, jakiegoś pola textarea czy innego miejsca gdzie obiekt całkowicie straci formatowanie. Dostaniemy coś takiego:
-
1.
-
Wojtalczyk Artur
-
253
-
2.
-
Wojciechowski Tomasz
-
251
-
3.
-
Plich Leszek
-
245
Tak wygląda tabelka złożona z trzech kolumn i trzech wierszy. Trzeba to teraz jakoś przywrócić do stanu używalności. Funkcja jest jeszcze prostsza niż w poprzednim wpisie. Oto ona:
-
function tworz_tabele($tekst, $ilosc_kolumn, $lp=false, $th=false)
-
{
-
$tabela='';
-
-
-
{
-
$licznik=1;
-
-
foreach($linie AS $wiersz)
-
{
-
{
-
if($licznik==1)
-
{
-
$tabela.="<tr>\r\n";
-
if($lp!=false)
-
{
-
if($th!=false)
-
$tabela.="<th>LP</th>\r\n";
-
else
-
{
-
$tabela.="<td>$lp</td>\r\n";
-
$lp++;
-
}
-
}
-
}
-
-
if($th!=false)
-
$tabela.="<th>$wiersz</th>\r\n";
-
else
-
$tabela.="<td>$wiersz</td>\r\n";
-
-
if($licznik==$ilosc_kolumn)
-
{
-
$tabela.="</tr>\r\n";
-
$licznik=1;
-
$th=false;
-
}
-
else
-
$licznik++;
-
}
-
}
-
}
-
-
return "<table>\r\n$tabela</table>";
-
}
Doszedł jeden parametr przekazywany do funkcji, reszta się nie zmieniła więc nie będę tego ponownie opisywał. Nowa zmienna jest potrzebna do określenia ilości kolumn w tabeli. Inaczej skrypt nie wiedziałby w którym miejscu przejść do nowego wiersza bo w przekazywanym tekście każda komórka to nowa linia.
I już
Kolejny prosty acz funkcjonalny i pomocny skrypcik.
Standardowo działanie można przetestować od razu na blogu:
Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)