Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pobieram stronę curlem, a potem pobieram z niej tekst
marta_ww
post 19.01.2009, 09:47:47
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 8.01.2009
Skąd: Warszawa

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


Witajcie!

Napisałam krótki kodzik, który pobiera mi stronę do zmiennej. Teraz chciałabym aby zamiast pokazywać mi całą stronę, pokazał mi tylko tekst z pomiędzy diva
Cytat
<div class="divek">TU MOŻE BYĆ WSZYSTKO</div>


Domyślam się, że może tu chodzić o wyrażenia regularne, aczkolwiek próbowałam działać coś z preg_match, ale miałam same błędy sad.gif


Pomożecie ? Dla Was to chwilka, a mi pomoże.

dzięki

Ten post edytował marta_ww 19.01.2009, 09:48:28
Go to the top of the page
+Quote Post
nospor
post 19.01.2009, 09:54:01
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
aczkolwiek próbowałam działać coś z preg_match, ale miałam same błędy
To pokaz jak probowalas, to powiemy ci co zrobilas źle - bedziesz miala info na przyszlosc winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
marta_ww
post 19.01.2009, 10:08:44
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 8.01.2009
Skąd: Warszawa

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


O, fajnie.
kod:
  1. <?php
  2. $strona = preg_match("#<div class=\"divek\">(.*)</div>#si", $strona, $strona_koncowa);
  3. echo $strona_koncowa[0];
  4. ?>


Nie do końca działa to dobrze.
Go to the top of the page
+Quote Post
nospor
post 19.01.2009, 10:13:30
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nie do końca działa to dobrze.
Ok, to jeszcze wyjasnij co masz przez to na mysli smile.gif
Bo mi dziala.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
marta_ww
post 19.01.2009, 10:19:21
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 8.01.2009
Skąd: Warszawa

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


Pobiera mi nieco więcej niż do </div>. Pobiera mi do drugiego </div>, a nie do pierwszego.
Go to the top of the page
+Quote Post
nospor
post 19.01.2009, 10:21:54
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: (.*)
a: (.*?)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
marta_ww
post 20.01.2009, 13:09:27
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 8.01.2009
Skąd: Warszawa

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


Ok, ale skoro się uczymy to mam pytanie czy możesz mi wyjaśnić czym się różni (.*) od (.*?) ?


Dodatkowo chciałabym się dowiedzieć co oznacza hash, znak \ oraz si w tym wyrażeniu regularnym:

Cytat
#\<div class=\"divek\">(.*)\</div\>#si


dzięki
Go to the top of the page
+Quote Post
wookieb
post 20.01.2009, 13:13:22
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




(.*) pobieranie zachlanne - Pobierze najwiecej tekstu jak moze. W toim przypadku np <div>text</div>lala</a></div>
(.*?) leniwe - pobierze do najmniejsza ilosc danych w twoim przypadku <div>text</div>

# wyrazenie # - Poczatek i koniec wyrazenita
si - modyfikatory http://pl.php.net/manual/pl/reference.pcre...n.modifiers.php


--------------------
Go to the top of the page
+Quote Post
marta_ww
post 20.01.2009, 13:36:12
Post #9





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 8.01.2009
Skąd: Warszawa

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


A nie lepiej zamiast # dać ^ i $ ?
Go to the top of the page
+Quote Post
wookieb
post 20.01.2009, 13:37:25
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A jak sobie wlaczysz pierwszy lepszy kurs o wyrazeniach regularnych to bedziesz wiedziala co tzn ^ $ na poczatku i koncu wyrazenia regularnego. # mozesz tez zastapic /


--------------------
Go to the top of the page
+Quote Post
marta_ww
post 20.01.2009, 13:40:42
Post #11





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 8.01.2009
Skąd: Warszawa

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


Właśnie przed chwilą przeczytałam i pozostaje mi pytanie do czego służy: \ (nie przed cudzysłowiem)
Go to the top of the page
+Quote Post
wookieb
post 20.01.2009, 13:43:25
Post #12





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to przeczytaj jeszcze raz. Przecież pisze w kursie jak byk co to jest. Musisz spamować forum każdą rzeczą którą nie umiesz doczytac w kursie?
http://www.programuj.com/artykuly/www/regularne.php


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 22:43