Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyciąganie adresu z treści
--Masterek--
post
Post #1





Goście







Witam,
mam pewien problem z którym nie mogę sobie poradzić.
Mam pewien skrypt curl, który wchodzi na stronę, wysyła posta, a później ma pobrać odpowiedź.
Sprawa wygląda tak, wszystko ładnie się wysyła, problem jest z pobraniem odpowiedzi.
Odpowiedzią jest taka treść:
  1. <h4>Wiadomość wysłano, Twój topic znajdziesz pod</h4> <a href="/jakas-podstrona.html">tym adresem</a>

Ja chciałbym wyświetlić tylko konkretnego linka, a następnie go dopisać do pliku (w następnej linijce, gdyż będzie kilka takich linków). Wiem, że trzeba użyć funkcji preg_match, tylko, że nie mogę sobie poradzić. Mam coś takiego:
  1. $wynik = '<h4>Wiadomość wysłano, Twój topic znajdziesz pod</h4> <a href="/jakas-podstrona.html">tym adresem</a>';
  2. preg_match_all('(<h4>(.*)</h4><a href="\">(.*)</a>)siU',$wynik,$adresy);
  3. $tab = array ($adresy);
  4. echo '<pre>';
  5. print_r($tab);
  6. echo '</pre>';

ale coś mi to nie działa.
Pomoże ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
abort
post
Post #2





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


preg_match_all('|<h4>(.*)</h4> <a href="(.*)">|',$wynik,$adresy);

Pobieżnie błędy:
- w $wynik masz spację między "/h4" a "<a" - a w wyrażeniu go nie masz. To podstawowy błąd, który bruździ przy regexpach.
- w wyrażeniu regularnym zawartym pomiędzy apostrofami masz na początku "(", a na końcu,przed modyfikatorami, masz ")". A regexp ma być otoczony takimi samymi znakami.
- modyfikator "siU" wyciąłem - mnie się okazał niepotrzebny, na pewno w takim małym tekście "U" jest niepotrzebne, dla jednej linii "s" też jest zbędne. "i" to już wedle upodobań.

Ten post edytował abort 25.11.2011, 22:05:25
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: 4.10.2025 - 15:35