Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyciągnięcie wartości z kodu HTML
Forum PHP.pl > Forum > Przedszkole
Sopran
cześć!
Mam pewien problem mianowicie chcę wyciągnąć z kodu strony wartość HREF tego znacznika:
  1. <link rel="alternate" type="application/rss+xml" title="blog RSS Feed" href="http://to.che.pobrac" />

Wiem że będzie to pewnie preg_match męcze sie z tym jednak nic mi z tego nie wychodzi. Ktoś ma pomysł?
jacobson
preg_match(|href=(.+?)|s, $tresc_strony, $zwracana_wartosc);
Sopran
A czy to przypadkiem nie pobierze mi wszystkich hrefów że strony? Jak pobrać tylko href z tego znacznika? Jest to znacznik unikalny
jacobson
pobierze wszystkie. NAjpierw musisz odpowiednio podzielic pobrany html skoro chcesz pobrac href znacznikow <link> to najlepiej zrobic substringa od <head> do znacznika </head>. Wtedy najlepiej preg_match_all pobrac wszystkie znaczniki <link> a nastepnie dla kazdego z nich znaczniki href. To takie najlatwiejsze najbardziej zrozumiale rozwiazanie mi sie wydaje smile.gif
Sopran
No dobra ale to jak mam niby potem oddzielić pobrane urle?
Nie da się zmodyfikować tego wyrażenia tak żeby np. Musiał obok tego hrefa występować gdzies
type="application/rss+xml"
?
jacobson
Niby jak zrobisz preg_match_all dla wszystkich elementow <link> (nie wiem czy masz 1 czy cchesz pobrac ich wiecej) to masz w tablicy zwracanej wszystkie te elementy. Wewnatrz petli przelatujac wszystkie rekordy mozesz wyciagnac ich znaczniki href przy pomocy tego co dalem w 1 poscie. Wszystko mozesz zapisac do jakiejs tymczasowej tabeli zadeklarowanej przed tym wszystkim.
Sopran
Chodzi o to że chce pobrać tylko ten jedną jedyną wartość..
wNogachSpisz
Polecam phpQuery.

  1. $content = '<link rel="alternate" type="application/rss+xml" title="blog RSS Feed" href="http://to.che.pobrac" />';
  2. $doc = phpQuery::newDocument($content);
  3. $link = $doc->find('link[title="blog RSS Feed"]');
  4. $href = $link->attr('href');
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.