Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][PHP][curl] Problem z obrazkiem
roobik
post
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Witam.
Dość dawno nie pisałem (IMG:style_emoticons/default/wink.gif) W sumie piszę tylko, gdy mam jakiś poważniejszy orzech. I tak jest tym razem.
Sprawa jest taka: na jednej ze stron obrazek zmienia się co kilkanaście minut (czasem co pół godziny).
I chciałebym ten własnie obrazek wyłuskać.
Zrobiłem więc tak:
  1. $strona = 'http://www.jakas_strona.pl';
  2. $now = curl_init($strona);
  3. curl_setopt($now, CURLOPT_RETURNTRANSFER, true);
  4. $Stronka = curl_exec($now);
  5. curl_close($now);
  6.  
  7. preg_match_all("/\<div class\=\"content_mv\" style=\"background: url(sites\/images\/news\/(.*?).jpg)\"><\/div\>/mi", $Stronka, $Wynik);
  8.  
  9. for($i=0;$i<count($Wynik[1]);$i++)
  10. {
  11. echo $Wynik[1][$i];
  12.  
  13.  
  14. }
  15.  
  16. echo '<br><br><hr>test';print_r($Wynik);

ale wyświetla mi:
Cytat
testArray ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) )


Myślałem, że już w sumie wyrażenia regularne znam, a tu niespodzianka....
Pomóżcie plis... bo nie wiem nawet, gdzie robię babola (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Dlaczego \= ?
Do testów polecam: http://www.regexr.com/
Go to the top of the page
+Quote Post
roobik
post
Post #3





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Cytat(trueblue)
Dlaczego \= ?

Dlaczego CO, bo nie rozumiem tej odpowiedzi (nie mam pokazanej przez Ciebie kolejności znaków)...
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Tu masz to o czym wspomniano
class\=
No jednal linijka tekstu i sam nie widzisz co piszesz nawet jak ci palcem wytkną?

Poza tym, skad mamy wiedziec czy ogolnie napisales poprawne wyrazenie, skoro nie wiemy jak wyglada ciag ktorego szukasz
Go to the top of the page
+Quote Post
roobik
post
Post #5





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


nospor, ja po prostu nie wiedziałem, o co trueblue pyta. Bo naprawdę różnie można interpretować pytanie "Dlaczego?" (IMG:style_emoticons/default/wink.gif)
OK... No problem

Ogólnie linia, która mnie interesuje, wygląda (mniej więcej) tak:
  1. <div class="content_mv" style="background: url(sites/images/news/201407191334.jpg) center top no-repeat; height: 60px; width: 75px;"></div>

Piszę "mniej więcej", ponieważ (jak pisałem wcześniej) nazwa obrazka zmienia się w ciągu doby kilkanaście/kilkadziesiąt razy...


Zauważyłem też, że nazwa obrazka składa się z daty i godziny (ale akurat to ma najmniejsze znaczenie) (IMG:style_emoticons/default/wink.gif)

Ten post edytował roobik 19.07.2014, 13:29:26
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




Zapytal: dlaczego uzywasz \= kiedy ten \ nie ma tam sensu i powinno byc tylko =. Nie wiem co tam mozna roznie interpretowac (IMG:style_emoticons/default/smile.gif)

Za to kropke . powinienes poprzedzac \ jesli szukasz kropki a nie dowolnego znaku.

Poza tym sprawdzales w ogole czy Twoj cURL zwraca to co powinien?

Kolejnym znakiem specjalnym są nawiasy i jesli nie poprzedzisz ich \ to będą traktowane jako znak specjalny. A przeciez ty nawiasy masz w szukanym tekscie.

Wniosek: nie znasz jednak tak dobrze wyrazen jak myslales, skoro lezysz na takich podstawach jak to, co jest znakiem specjalnym a co nie.
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
roobik
post
Post #7





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Taką metodę stosowałem już niejednokrotnie (kopiowałem kod, zmieniałem to, co mnie interesuje i hulało).
A teraz po prostu nie wiem, gdzie mam babola.
Usunąłem slash'a, ale i tak to nic nie dało (IMG:style_emoticons/default/sad.gif)
Dalej jest to samo:
Cytat
testArray ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) )


//edit
Ale ja nigdzie nie napisałem, że DOBRZE znam, tylko, że "myślałem, że w sumie znam" (w domyśle: znam na tyle, że mi to wystarcza na moje "potrzeby") (IMG:style_emoticons/default/wink.gif)
Jakbym je znał DOBRZE, to bym tu nie pisał raczej... hmmm...? (IMG:style_emoticons/default/wink.gif)

Ten post edytował roobik 19.07.2014, 13:45:29
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Nie dosc ze miales usunac w jednym miejscu, to miales dodac w innych. Pisalem ci o znakach specjalnych, ktorych zapomniales oslashowac....

Zrob co pisalem, a potem pokaz kod po zmianach.
No i pytam poraz kolejny: sprawdzales czy w ogole cURL zwraca to co powinien?

edit:
Cytat
Ale ja nigdzie nie napisałem, że DOBRZE znam, tylko, że "myślałem, że w sumie znam"
No to nie znasz nawet w sumie, bo znajmosc znakow specjalnych to podstawa, by nie robic tak banalnych bledow, ktore wlasnie robisz
Go to the top of the page
+Quote Post
roobik
post
Post #9





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


zmieniłem tę linię i teraz wygląda to tak:
  1. preg_match_all("/\<div class=\"content_mv\" style=\"background: url(sites\/images\/news\/\(.*?\).jpg)\"><\/div\>/mi", $Stronka, $Wynik);

niestety, nie pomogło


Cytat(nospor)
sprawdzales czy w ogole cURL zwraca to co powinien?

Resource id #1
(IMG:style_emoticons/default/sad.gif)

Ten post edytował roobik 19.07.2014, 13:59:57
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #10





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


Cytat(roobik @ 19.07.2014, 14:54:47 ) *
zmieniłem tę linię i teraz wygląda to tak:
  1. preg_match_all("/\<div class=\"content_mv\" style=\"background: url(sites\/images\/news\/\(.*?\).jpg)\"><\/div\>/mi", $Stronka, $Wynik);

niestety, nie pomogło


skasuj dla testu sprzed < > slashe, mam prega co tak dziala, poza tym chyba (.*?) jednego brakuje a w pierwszym to niewiem do czego ci slash

moze moj preg niepoprawny ale dziala
  1. "/<span class\=\"Cell1\" >(.*?)<\/span>/s"


Ten post edytował ZaXaZ 19.07.2014, 14:02:52
Go to the top of the page
+Quote Post
roobik
post
Post #11





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Cytat(ZaXaZ)
skasuj dla testu sprzed < > slashe


Już tak próbowałem, ale wyskakiwał błąd:
Cytat
Unknown modifier '<'


Cytat(ZaXaZ)
mam prega co tak dziala


Też miałem podobnie przy jednym z poprzednich kodów (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
by_ikar
post
Post #12





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


  1. <?php
  2.  
  3. $str = '<div class="content_mv" style="background: url(sites/images/news/201407191334.jpg) center top no-repeat; height: 60px; width: 75px;"></div>';
  4.  
  5. preg_match('#<div[\s]+class="content_mv"[\s]+style="[\w\s:]+url\(([\w\/\.]+)\)[^>]+>#', $str, $matches);
  6.  
  7. var_dump($matches);


Ten post edytował by_ikar 19.07.2014, 14:32:56
Go to the top of the page
+Quote Post
nospor
post
Post #13





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




Cytat
Resource id #1

Co ty sprawdzales? Miales sprawdzic zmienną $Stronka
Go to the top of the page
+Quote Post
roobik
post
Post #14





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


I O TO CHODZI (IMG:style_emoticons/default/smile.gif)
Dzięki bardzo!
Resztę już zrobię sam

nospor - fakt, nie sprawdziłem tego dokładnie (literówka, a potem parę odp na Forum)

Ten post edytował roobik 19.07.2014, 15:06:48
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: 22.08.2025 - 13:17