Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Preg_match i dwie takie same klasy
fnt
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.11.2012

Ostrzeżenie: (0%)
-----


Witam to mój pierwszy post, przyznam ze staralem sie tego uniknac ale no nie jestem w stanie tego ogarnac sam.
Zaczne od tego ze jest dosyc lewawy z angielskiego (IMG:style_emoticons/default/sad.gif)

w kazdym badz razie, potrzebuje pobrac pewne dane z innej strony i wyswietlic je u siebie na stronie z tym nie ma wiekszego problemu, jednakze na stronie z ktorej probuje je pobrac div ma taka sama klase dla kilku roznych informacji
rozumiem ze musze zdefiniowac je wszystkie i z echa odwolac sie do tej ktorej potrzebuje jak to zrobic?



________________
jestem idiota dobra rozwiazalem problem, dla przyszlych osob z tym problemem.
nalezy w takiej sytuacji zamiast preg_match uzyc preg_match_all :DDDD

pomyslec ze otwierajac drzwi zeby wyjsc do pracy mi to przyszlo do glowy (IMG:style_emoticons/default/biggrin.gif)

_________________
no i jednak nie do konca , wyswietlenie wyników z pregmatch pokazuje mi diva ktorego powininem uzyc ale jak sie do niego odwoluje [1] dostaje zamiast informacji array (IMG:style_emoticons/default/sad.gif)

Array ( [0] => Array ( [0] =>
cos
[1] =>
dis
[2] =>
cos
) [1] => Array ( [0] => cos [1] => dis [2] => cos ) )

Ten post edytował fnt 19.11.2012, 08:05:01
Go to the top of the page
+Quote Post
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Poczytaj o tablicach.
  1. echo $foo[1][1];
Go to the top of the page
+Quote Post
fnt
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.11.2012

Ostrzeżenie: (0%)
-----


Mam jeszcze pytanie preg_match pobiera informacje stale za kazdym razem ? czy tylko jak jest wyswietla strona na ktorej aktualnie sie znajduje?

Zeby dokladniej sie wyrazic chcialbym schowac go w rozwijanym menu tak zeby informacje ktore pobieram, pobieraly sie dopiero po rozwiniecu tego menu

Ten post edytował fnt 20.11.2012, 05:53:06
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


PHP działa po stronie serwera, nie ma opcji rozwijania czegokolwiek. Rozwijane menu robisz po stronie użytkownika w JS/AJAX.

Ten post edytował !*! 20.11.2012, 11:17:45
Go to the top of the page
+Quote Post
fnt
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.11.2012

Ostrzeżenie: (0%)
-----


Hm, a czemu nie mozna odwołać sie do niektorych divów czemu jak probuje wyswietla mi jako puste tablice skoro ja wiem ze jest tam jakas dana?
Go to the top of the page
+Quote Post
motyl-pl
post
Post #6





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

Ostrzeżenie: (0%)
-----


Sprawdź funkcją:
"print_r($zmienna_tablicy);"
badź
"var_dump($zmienna_tablicy)"

Wtedy się okażę czy jest tam jakaś "dana" bo jesteżeli tam nic nie będzie, to tej "danej" nie ma tam ..
Go to the top of the page
+Quote Post
fnt
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.11.2012

Ostrzeżenie: (0%)
-----


nie rozumiesz, mam tam jakiegos diva ktory ma przypisana klase np. klasa no wiec z pomoca
CODE

preg_match_all('[<div class="klasa">(.*)<\/div>]', $mojadrugastrona, $wyswietl);
print_r($wyswietl);


daje mi w tablicach arraye zamiast rzeczy ktora mam w danym divie dlaczego? dodam ze dodanie patternow nic nie wnosi caly czas jest tak samo (.*) ---> zreszta chyba odpowiada za wszelkie znaki no bo * to od 0 w gore i . wszystkie znaki





nie rozumiesz, mam tam jakiegos diva ktory ma przypisana klase np. klasa no wiec z pomoca
CODE

preg_match_all('[<div class="klasa">(.*)<\/div>]', $mojadrugastrona, $wyswietl);
print_r($wyswietl);


daje mi w tablicach arraye zamiast rzeczy ktora mam w danym divie dlaczego? dodam ze dodanie patternow nic nie wnosi caly czas jest tak samo (.*) ---> zreszta chyba odpowiada za wszelkie znaki no bo * to od 0 w gore i . wszystkie znaki





jesli gdzies w kodzie jest literowka u mnie napewno jej nie ma przeanalizowalem wszystko wielokrotnie wiec jesli tutaj jest to przepraszam.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #8





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Tak jak mówisz, pattern (.*) to owszem wszystkie znaki, ale do tego nie wliczają się chociażby spacje, tabulatory, znaki nowej linii. A zgodnie z definicją funkcji preg_match_all, w argumencie trzecim, czyli $matches jako wynik otrzymujesz tablicę. I nie przeskoczysz tego w żaden sposób.
Go to the top of the page
+Quote Post
fnt
post
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.11.2012

Ostrzeżenie: (0%)
-----


aha , w takim razie jezeli w danym divie jest obrazek, to automatycznie ten obrazek nie zostanie pobrany bo moge odniesc sie tylko do liczb cyfr i znaków ?

jak w takim razie moglbym pobierac obrazek z $mojadrugastrona jezeli jest on aktualizowany i zmieniany musialbym caly czas sledzic czy sie nie zmienil i wpisywac jego nowy adres ? całość wtedy traci zupelnie sens (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #10





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Zastosuj odpowiednie wyrażenie regularne, wtedy nie będzie problemu.
Go to the top of the page
+Quote Post
fnt
post
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 19.11.2012

Ostrzeżenie: (0%)
-----


Dzieki wielkie b4rt3kk, skloniłes mnie do do lekturki o wyrażeniach temat do zamkniecia (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 23:15