Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne - wyświetlanie linku
darala1
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 13.08.2006

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


Witajcie,

mam problem z wyrażeniami regularnymi, chciałbym pobrać pewien link wykorzystując właśnie wyrażenia regularne.
Tak wygląda wyświetlana strona:

Kod
<textarea style=width:90%;height:50%>http://www.rs2rs.345.pl/index.php/rs2rs/1241/sfasffsa/261/78329255/action_replay__dvd__by_Kiko.rar</textarea>


Chciałbym wyświetlić z niej link, który widnieje pomiędzy textarea, próbowałem robić to w ten sposób:
  1. $file = 'http://rapidshare.com/files/78329255/action_replay__dvd__by_Kiko.rar';
  2. $nazwa = basename($file);
  3. $test ='http://www.rs2rs.345.pl';
  4. $c=curl_init();
  5. curl_setopt($c, CURLOPT_URL, $test);
  6. curl_setopt($c, CURLOPT_POST, true);
  7. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3");
  8. curl_setopt($c, CURLOPT_HEADER, 0);
  9. curl_setopt($c, CURLOPT_POSTFIELDS, 'user='.$login.'&pass='.$password.'&files='.$file);
  10. $t = curl_exec($c);
  11. curl_close($c);
  12.  
  13. $wyrazenie = '/www.rs2rs.345.pl\/index.php\/rs2rs\/[a-zA-Z0-9]\/[a-zA-Z0-9]\/[a-zA-Z0-9]\/[a-zA-Z0-9]\/'.$nazwa;
  14. preg_match_all($wyrazenie, $t, $test);
  15. echo $test;

Bardzo proszę o pomoc.
Pozdrawiam.

Ten post edytował darala1 3.10.2009, 21:16:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


wyrażenie:
'/<textarea[^>]+>([^<]+)<\/textarea>/us'
Go to the top of the page
+Quote Post
darala1
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 13.08.2006

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


Niestety nie działa, wygląda to tak:

  1. $tt = 'http://rapidshare.com/files/78329255/action_replay__dvd__by_Kiko.rar';
  2. $test ='http://www.rs2rs.345.pl';
  3. $c=curl_init();
  4. curl_setopt($c, CURLOPT_URL, $test);
  5. curl_setopt($c, CURLOPT_POST, true);
  6. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3");
  7. curl_setopt($c, CURLOPT_HEADER, 0);
  8. curl_setopt($c, CURLOPT_POSTFIELDS, 'user='.$login.'&pass='.$password.'&files='.$tt);
  9. $t = curl_exec($c);
  10. curl_close($c);
  11.  
  12. $wyrazenie = '/<textarea[^>]+>([^<]+)<\/textarea>/us';
  13. preg_match_all($wyrazenie, $t, $test);
  14. print_r($test);


Tablica pokazuje:
Kod
Array ( [0] => Array ( ) [1] => Array ( ) )


Ten post edytował darala1 3.10.2009, 21:44:20
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


może wyświetl jeszcze źródło strony dla pewności i sprawdź ręcznie.... - coś mi się wydaje, że powinno działać (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
darala1
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 13.08.2006

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


Zrobiłem teraz, aby curl zapisywał zawartość otwieranej strony w txt, tylko jak teraz otworzyć plik i wykorzystać preg_match_all skoro są w tym txt elementy pliku html.
Go to the top of the page
+Quote Post
zegarek84
post
Post #6





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


nie musiałeś tego zapisywać do pliku txt - prosiłem tylko byś sprawdził źródło - zamiast tego źródło wyświetl np. na swojej stronie i zerknij czy jest ten textarea - po prostu może Cię przekierowuje gdzie indziej - na pewno dobrze weszłeś curl'em tak jak przeglądarką na ta stronę?? - takie jest moje pytanie - dlatego o źródła też pytałem czy widzisz w kodzie pobranym przez curl pole textarea....
Go to the top of the page
+Quote Post
darala1
post
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 13.08.2006

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


Tzn. dziwne jest to, że strona prawidło się wyświetla, ale jak daje echo $t, czyli wywołuje gdzieś curla to nie wiem dlaczego zwraca 1.

Ten post edytował darala1 3.10.2009, 22:28:58
Go to the top of the page
+Quote Post
no_face
post
Post #8





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Dodaj opcje dla curl'a:

  1. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
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: 25.08.2025 - 04:23