|
dodaj tą stronę do ulubionych
użytkownicy online 15, liczba odwiedzin: 1649102
| |||||||||
![]() | |||||||||
|
. |
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
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).
&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;
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 | |||||||||