Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wyciągnięciem wartości w preg_math
Forum PHP.pl > Forum > Przedszkole
deluks1980
Witam.

Do rzeczy.

Mam następujący ciąg:

Cytat
<td class="leftborder timestamp" rel="1309046822"><span class="updatets ">1 minute</span></td><td><span>91.212.217.53</span></td> <td>8080</td>


I próbuję z niego wyciągnąć IP oraz Port (oczywiście takich wartości jest więcej niż jedna).

Próbuję to robić za pomocą następującego wyrażenia:

  1. preg_match_all('/<\/span><\/td><td><span>(.*?)<\/span><\/td><td>(.*?)<\/td>/is', $zrodlo, $wyjscie);


Jednak kod zwraca puste array.

Proszę o pomoc.

Pozdrawiam.
mortus
W ciągu masz spacje pomiędzy przedostatnią a ostatnią komórką tabeli <td>, a we wzorcu spacji nie ma, dlatego nie wyciąga tego, co chcesz.
deluks1980
Da się to zrobić jakoś, żeby tą spację omijało? closedeyes.gif

Zmieniłem na coś takiego:

/<\/span><\/td><td><span>(.*?)<\/span><\/td>(.*?)<td>(.*?)<\/td>/is

i .. dalej: Array ( )
mat-bi
\s
deluks1980
Wciąz otrzymuję : Array ( )

ohno-smiley.gif

Jesli dla testu ustawie zeby wyciągało z tego:
Cytat
</span></td><td><span>91.212.217.53</span></td><td>8080</td>


To również otrzymuję puste array...
mortus
A to dziwne, bo wyrażenie jest odpowiednie:


Uploaded with ImageShack.us
deluks1980
Dobra, teraz działa - okazało się, że musiałem dać aż 9 \s.

Teraz mam jeszcze jedno pytanie:
Jak zrobić, aby w wyświetlonym array były tylko te 'niewiadome' które oznaczam (.*?) w preg_match_all ?

Bo dodaje mi tam jakieś flagi etc. jeszcze.
A ja potrzebuję mieć tylko taki efekt, że jak sobie dam:

foreach($wynik_preg_match as $nie_wiadoma1 => $nie_wiadoma2)

I takie łatwe wyświetlane tych 2-uch niewiadomych wtedy by było.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.