0

Simple Html Dom(file_get_content) を使用して、いくつかの Web サイトからリンクを取得しようとしています。

問題は、これらのリンクの一部が実際の投稿へのリダイレクトを使用していることです。スクリプトは投稿までずっとそれに従いますが、その投稿にリンクしている私のウェブサイトでは、php にファイル "process.php? id = 121」ですが、「domain.com/redirected-to-here.html」のような実際の実際のURLを返したい

スクリプトは次のようになります

$html = file_get_html('www.domain.com/post/this-is-a-post.html');
foreach($html->find('div#post a',0) as $linktopost){
    echo $linktopost->href;
}

しかし、これは次のようなものを返します

www.domain.com/redirect.php?id=10

実際の問題は、リダイレクトされた後にSimple html domパーサーを使用してURLを返すにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

cURL を使用して、ロケーション ヘッダーを正規表現で解析します。

$ch = curl_init('www.domain.com/post/this-is-a-post.html');
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$header_and_html = curl_exec($ch);
preg_match(...);
于 2013-10-29T22:54:32.080 に答える