Sopran
10.11.2013, 00:54:10
cześć!
Mam pewien problem mianowicie chcę wyciągnąć z kodu strony wartość HREF tego znacznika:
<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
10.11.2013, 01:27:40
preg_match(|href=(.+?)|s, $tresc_strony, $zwracana_wartosc);
Sopran
10.11.2013, 09:28:55
A czy to przypadkiem nie pobierze mi wszystkich hrefów że strony? Jak pobrać tylko href z tego znacznika? Jest to znacznik unikalny
jacobson
10.11.2013, 09:57:05
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
Sopran
10.11.2013, 10:06:36
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
10.11.2013, 10:12:53
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
10.11.2013, 10:20:29
Chodzi o to że chce pobrać tylko ten jedną jedyną wartość..
wNogachSpisz
10.11.2013, 11:48:35
Polecam phpQuery.
$content = '<link rel="alternate" type="application/rss+xml" title="blog RSS Feed" href="http://to.che.pobrac" />';
$doc = phpQuery::newDocument($content);
$link = $doc->find('link[title="blog RSS Feed"]');
$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.