|
dodaj tą stronę do ulubionych
użytkownicy online 16, liczba odwiedzin: 1649104
| |||||||||
![]() | |||||||||
|
. |
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
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).
&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;
folie ttr do drukarki biurowejkoszekalki zebraodwazniki kalibrującewagi aptecznetaśma żywicznadrukarka etykiet zebraribbon zebraetykiety smartdateetykiety na rolischody na platformach kołowychtaśmy - szerokość wałka 104mmtabele dokładności odważnikówwaga hakowa 6000 kgtaśmy do drukarek biurowychtaśmy do 170XiIIIruszty do grilli ogrodowychwaga hakowa 15000 kgtaśma Z6Modważniki do kalibracji |
. | ||||||
| | 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 | |||||||||