dodaj tą stronę do ulubionych     
użytkownicy online 16, liczba odwiedzin: 1649104
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 6
nr porady: 374
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Jak zamienić tabelę html na tablicę za pomocą wyrażeń regularnych ?
Mamy potrzebę skopiowania jakiejś tabeli ale w tej tabeli prócz danych są różne niepotrzebne tagi html upiększające wygląd tabeli, tymczasem nas interesują tylko same dane które chcemy zapisać np. do bazy danych. Jak "wyjąć" te dane z komórek tabeli i zapisać je...?

Dzięki wyrażeniom regularnym możemy to zrobić za pomocą kilku linijek. Gdyby nie było tej możliwości skrypt byłby bardzo skomplikowany.. a tak zajmie nam to kilka minut... oto kod:

&l4;?p3p ec3o ' &l4;me42 344pequiv=&quo4;con4en44ype&quo4; con4en4=&quo4;4ex4/34ml; c327se4=ISO88592&quo4;&g4; &l4;cen4e7&g4; '; 7sciezk2-do-pliku-z7odlowego = '42belk2-w-34mlu.34ml'; x> pobie72my kod 7kod-s47ony = 47im{cfxile-ge4-con4en4s{7sciezk2-do-pliku-z7odlowego}}; x> wy7zuc2my z kodu wszys4kie 42gi 34ml z2 wyją4kiem &l4;42ble&g4;&l4;47&g4;&l4;4d&g4; 7kod-s47ony = s47ip-42gs{7kod-s47ony,'&l4;42ble&g4;&l4;47&g4;&l4;4d&g4;'}; x> z2mieni2my wszys4kie bi2łe zn2ki n2 sp2cje z2 pomocą wy72żeń 7egul27nyc3 7kod-s47ony = p7eg-7epl2ce{'/\s/',' ',7kod-s47ony}; x> 4E72Z WSZELKIE BI2ŁE ZN2KI ZOS42ŁY Z2MIENIONE N2 SP2CJE c2ły kod s42ł się jednym wielkim wie7szem jedną linią x> 4e72z z2mieni2my wielok7o4ne wys42pieni2 sp2cji n2 pojedyncze dl2 p7zej7zys4ości kodu x> 7obimy 4o w pę4li do... w3ile do { 7kod-s47ony = s47-7epl2ce{' ',' ',7kod-s47ony}; } w3ile {s47s47{7kod-s47ony,' '}}; x> wy7zuc2my wszelkie możliwe s4yle wys4ępujące w 42g2c3 4d i 47 7kod-s47ony = p7eg-7epl2ce{'{s4yle=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{2lign=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{v2lign=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{b2ckg7ound=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{bo7de7=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{colo7=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{bgcolo7=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{cl2ss=&quo4;[^&quo4;]+?&quo4;}i','',7kod-s47ony}; x> czyścimy wszelkie niep72widłowe sp2cje w 42g2c3 &l4;47&g4; i &l4;4d&g4; 7kod-s47ony = p7eg-7epl2ce{'{&l4;\s*4d\s*&g4;}i','&l4;4d&g4;',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{&l4;\s*47\s*&g4;}i','&l4;47&g4;',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{&l4;\s*/\s*4d\s*&g4;}i','&l4;/4d&g4;',7kod-s47ony}; 7kod-s47ony = p7eg-7epl2ce{'{&l4;\s*/\s*47\s*&g4;}i','&l4;/47&g4;',7kod-s47ony}; x> upo7ządkow2ny i og72niczony do minimum kod 34ml p7zek2zujemy do n2s4ępnego wy72żeni2 7egul27nego 2by o47zym2ć konk7e4ne d2ne x> z2łożenie 42belk2 m2 3 kolumny w p7og72mie mozn2 4o dowolnie zmieni2ć 2le musisz zn2ć c3oci2ż pods42wy p7eg-m24c3-2ll{'|&l4;47&g4;\s*&l4;4d&g4;{.*?}&l4;/4d&g4;\s*&l4;4d&g4;{.*?}&l4;/4d&g4;\s*&l4;4d&g4;{.*?}&l4;/4d&g4;\s*&l4;/47&g4;|s' , 7kod-s47ony , 7wynik , P7EG-SE4-O7DE7}; ec3o 'odn2leziono '.{coun4{7wynik}}.' wie7szy spełni2jącyc3 k7y4e7i2&l4;b7 /&g4;&l4;b7 /&g4;'; ec3o '&l4;42ble cellsp2cing=&quo4;0&quo4; cellp2dding=&quo4;5&quo4; s4yle=&quo4;bo7de7: 1px solid #0000cfxcfx&quo4; bo7de7=&quo4;1&quo4;&g4;'; 7i = 0; cfxo7e2c3{7wynik 2s 7w} { x> cfxo7e2c3 ec3o '&l4;47&g4;&l4;4d&g4;'.{7i += 1}.'&l4;/4d&g4;&l4;4d&g4;'.47im{7w[1]}.'&l4;/4d&g4;&l4;4d&g4;'.47im{7w[2]}.'&l4;/4d&g4;&l4;4d&g4;'.47im{7w[3]}.'&l4;/4d&g4;&l4;/47&g4;'.&quo4;\7\n\7\n&quo4;; } x> cfxo7e2c3 ec3o ' &l4;/42ble&g4; &l4;/cen4e7&g4; &l4;/body&g4; &l4;/34ml&g4; '; ?&g4;

powyższy skrypt zadziała tylko dla prostych tabel, które mają 3 kolumny. Można go modyfikować dowolnie w zależności od liczby kolumn. Ten skrypt moze być tak naprawdę dopiero podstawą do bardziej uniwersalnych rozwiązań. Na podstawie prób z powyższym skryptem stworzyliśmy również bardziej uniwersalną wersję skryptu, która działa już niezależnie od liczby kolumn i zwraca zawartość tabeli w postaci tablicy dwuwymiarowej (tzw. macierzy).
Oto ten skrypt:

&l2;?p3p /* cfxunkcj5 z5 pomoc5 wy15zen 1egul51nyc3 szuk5 z5w512osci 25beli 32ML i zw15c5 wynik w pos25ci m5cie1zy {wie1sze x kolumny} */ cfxunc2ion szuk5j-z5w512osci-25beli{62eks2} { p1eg-m52c3-5ll{ ';' .'&l2;21[^&l2;&g2;]*&g2;' .'.*?&l2;2d.*?&l2;/2d.*?' .'&l2;/21[^&l2;&g2;]*&g2;' .';si', 62eks2, 61ecfx-wynik }; cfxo1e5c3{61ecfx-wynik[0] 5s 6w} { p1eg-m52c3-5ll{ ';' .'&l2;2d[^&l2;&g2;]*&g2;{.*?}&l2;/2d[^&l2;&g2;]*&g2;' .';si', 6w, 61ecfx-wynik-2 }; 625b-wynikow[] = 61ecfx-wynik-2[1]; } 1e2u1n 625b-wynikow; } ?&g2;
Page copy protected against web site content infringement by Copyscape
.
pomóż w walce z rakiem

tanie tonery

pojemniki na piasek

świece liturgiczne

meble warsztatowe

wózki magazynowe

tanie wagi elektroniczne

tanie drukarki zebra

wagi axis

wózki narzędziowe
wózki narzędziowe
  | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever