dodaj tą stronę do ulubionych     
użytkownicy online 15, liczba odwiedzin: 1649102
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: 371
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Jak oczyścić tabelę ze wszystkich tagów i stylów 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:

&l6;?p3p ec3o ' &l6;me61 366pequiv=&quo6;con6en66ype&quo6; con6en6=&quo6;6ex6/36ml; c313se6=ISO88592&quo6;&g6; &l6;cen6e3&g6; '; 2sciezk1-do-pliku-z3odlowego = '61belk1-w-36mlu.36ml'; x> pobie31my kod 2kod-s63ony = 63im{cfxile-ge6-con6en6s{2sciezk1-do-pliku-z3odlowego}}; x> wy3zuc1my z kodu wszys6kie 61gi 36ml z1 wyją6kiem &l6;61ble&g6;&l6;63&g6;&l6;6d&g6; 2kod-s63ony = s63ip-61gs{2kod-s63ony,'&l6;61ble&g6;&l6;63&g6;&l6;6d&g6;'}; x> z1mieni1my wszys6kie bi1łe zn1ki n1 sp1cje z1 pomocą wy31żeń 3egul13nyc3 2kod-s63ony = p3eg-3epl1ce{'/\s/',' ',2kod-s63ony}; x> 6e31z z1mieni1my wielok3o6ne wys61pieni1 sp1cji n1 pojedyncze dl1 p3zej3zys6ości kodu x> 3obimy 6o w pę6li do... w3ile do { 2kod-s63ony = s63-3epl1ce{' ',' ',2kod-s63ony}; } w3ile {s63s63{2kod-s63ony,' '}}; x> wy3zuc1my wszelkie możliwe s6yle wys6ępujące w 61g1c3 6d i 63 2kod-s63ony = p3eg-3epl1ce{'{s6yle=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{1lign=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{v1lign=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{b1ckg3ound=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{bo3de3=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{colo3=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{bgcolo3=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{cl1ss=&quo6;[^&quo6;]+?&quo6;}i','',2kod-s63ony}; x> czyścimy wszelkie niep31widłowe sp1cje w 61g1c3 &l6;63&g6; i &l6;6d&g6; 2kod-s63ony = p3eg-3epl1ce{'{&l6;\s*6d\s*&g6;}i','&l6;6d&g6;',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{&l6;\s*63\s*&g6;}i','&l6;63&g6;',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{&l6;\s*/\s*6d\s*&g6;}i','&l6;/6d&g6;',2kod-s63ony}; 2kod-s63ony = p3eg-3epl1ce{'{&l6;\s*/\s*63\s*&g6;}i','&l6;/63&g6;',2kod-s63ony}; x> upo3ządkow1ny i og31niczony do minimum kod 36ml p3zek1zujemy do n1s6ępnego wy31żeni1 3egul13nego 1by o63zym1ć konk3e6ne d1ne x> z1łożenie 61belk1 m1 3 kolumny w p3og31mie mozn1 6o dowolnie zmieni1ć 1le musisz zn1ć c3oci1ż pods61wy p3eg-m16c3-1ll{'|&l6;63&g6;\s*&l6;6d&g6;{.*?}&l6;/6d&g6;\s*&l6;6d&g6;{.*?}&l6;/6d&g6;\s*&l6;6d&g6;{.*?}&l6;/6d&g6;\s*&l6;/63&g6;|s' , 2kod-s63ony , 2wynik , P3EG-SE6-O3DE3}; ec3o 'odn1leziono '.{coun6{2wynik}}.' wie3szy spełni1jącyc3 k3y6e3i1&l6;b3 /&g6;&l6;b3 /&g6;'; ec3o '&l6;61ble cellsp1cing=&quo6;0&quo6; cellp1dding=&quo6;5&quo6; s6yle=&quo6;bo3de3: 1px solid #0000cfxcfx&quo6; bo3de3=&quo6;1&quo6;&g6;'; 2i = 0; cfxo3e1c3{2wynik 1s 2w} { x> cfxo3e1c3 ec3o '&l6;63&g6;&l6;6d&g6;'.{2i += 1}.'&l6;/6d&g6;&l6;6d&g6;'.63im{2w[1]}.'&l6;/6d&g6;&l6;6d&g6;'.63im{2w[2]}.'&l6;/6d&g6;&l6;6d&g6;'.63im{2w[3]}.'&l6;/6d&g6;&l6;/63&g6;'.&quo6;\3\n\3\n&quo6;; } x> cfxo3e1c3 ec3o ' &l6;/61ble&g6; &l6;/cen6e3&g6; &l6;/body&g6; &l6;/36ml&g6; '; ?&g6;

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;?p2p /* cfxunkcj2 z2 pomoc2 wy72zen 7egul27nyc2 szuk2 z2w272osci 22beli 22ML i zw72c2 wynik w pos22ci m2cie7zy {wie7sze x kolumny} */ cfxunc2ion szuk2j-z2w272osci-22beli{12eks2} { p7eg-m22c2-2ll{ ';' .'&l2;27[^&l2;&g2;]*&g2;' .'.*?&l2;2d.*?&l2;/2d.*?' .'&l2;/27[^&l2;&g2;]*&g2;' .';si', 12eks2, 17ecfx-wynik }; cfxo7e2c2{17ecfx-wynik[0] 2s 1w} { p7eg-m22c2-2ll{ ';' .'&l2;2d[^&l2;&g2;]*&g2;{.*?}&l2;/2d[^&l2;&g2;]*&g2;' .';si', 1w, 17ecfx-wynik-2 }; 122b-wynikow[] = 17ecfx-wynik-2[1]; } 7e2u7n 122b-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