![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
mam coś takiego:
jak zmienic wyrażenie regularne (a może inna funkcja?) aby w tablicy result nie otrzymywał wszystkiego od pierwszego "<tr bgcolor="#cfcfcf">" do ostatnego </tr> tylko od pierwszego "<tr bgcolor="#cfcfcf">" do najbliższego "</tr>" potem od nastepnego "<tr bgcolor="#cfcfcf">" do najbliższemu temu "</tr>" i tak dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) mam nadzieje że dobrze to wytłumaczyłem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 9 Dołączył: 12.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio miałem ten sam problem :| Nie jestem dobry z wyrażeń regularnych - praktycznie nie mam o nich bladego pojęcia, wiem tylko że istnieją - i jeśli nie muszę, nie korzystam z nich. Będę wdzięczny jeśli ktoś wytlumaczy to tutaj na przykładzie używając tych wyrażeń.
Jednakże jeśli nie mogłem sobie dać rady wyrażeniami regularnymi więc musiałem znaleźć inną drogę (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Proponuję ci to rozwiązać przez użycie pętli while i strpos oraz substr ^^. Przykład: Kod while(($p = strpos($stog, '<tr bgcolor="#cfcfcf">', $k)) != false) { // teraz znajdujemy koniec, poszukiwany od ostatniego $p - poczatka :P $k = strpos($stog, "</tr>", $p); // wycinamy to przez dodanie do poczatku znaleziska + dlugosc tego wyrazenia (w tym przypadku 22 znaki), dlugosc obliczamy przez odjecie konca od poczatku ^^ $wartosci[] = substr($stog, $p+22, $k-($p+22)); jeśli gdzieś się nie kropnąłem z nawiasami to powinno podziałać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował lashus 29.04.2009, 18:31:36 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 9 Dołączył: 12.03.2007 Skąd: kraków/tarnobrzeg/baranów/suchorzów Ostrzeżenie: (0%) ![]() ![]() |
proponuję tak :
modyfikator "U" wyłącza "zachłanność" |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:48 |