Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciąganie wartości input z kodu strony HTML, Za pomocą wyrażeń regularnych.
mati0090
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 11.10.2007

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


Witam

W kodzie źródłowym strony potrzebuję wyciągnąć pewną wartość z input hidden. Nie jest to niestety tak łatwe jak w delphi, gdyż w PHP należy użyć wyrażeń regularnych i tu zaczynają się schody.

Oto kawałek kodu w html:
  1. <input type="hidden" name="auto_form_ticket" value="490ca0ef260803b5ee383f84">


Potrzebna mi jest wartośc value.

  1. <?php
  2. preg_match_all(&#092;"/< *[input type=\"hidden\" name=\"auto_form_ticket\"][^>]*[value] *= *[\"']{0,1}([^\"' >]*)/i\",
  3. $site, $matches);
  4. ?>


Powyższy kod działa, lecz tylko wtedy gdy zmienna $site:
  1. <?php
  2. $site = '<input type="hidden" name="auto_form_ticket" value="490b5775c89b8a599e8bebd4">';
  3. ?>


W przypadku kodu całej strony, tablica $matches przybiera różne, dziwne wartości(zależne od innych tagów HTML).

Uważam, iż powinienem poznać temat wyrażeń regularnych.
Tak też uczynię, lecz teraz chciałbym dokończyć skrypt który zacząłem.

Myślę, że przy odpowiednich umiejętnościach mój problem wydaje się błahy.

Zaznaczam też, że nie tworze żadnego skryptu który ma posłużyć jako spammer.

Z góry dziękuję za odpowiedzi
Bury

Ten post edytował mati0090 31.10.2008, 21:55:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
lukaszgolder
post
Post #2





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Dołączył: 2.04.2008
Skąd: z Zabrza

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


Może coś takiego:
  1. <?php
  2. preg_match_all("/(<input)(.*)(value=\")(.*)(\")/", $fp, $matches, PREG_SET_ORDER);
  3. ?>

Wyświetlić wyniki możesz np tak:
  1. <?php
  2. foreach($matches as $val) {echo $val[4];}
  3. ?>


Ten post edytował lukaszgolder 1.11.2008, 23:24:02
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 - 19:51