1

例: このドメインhttp://www.example.com/234234/go.htmlでは、iframe コードは 1 つだけです。

iframe-code で URL を取得するにはどうすればよいですか?

go.html:

<iframe style="width: 99%;height:80%;margin:0 auto;border:1px solid grey;" src="i want this url" scrolling="auto" id="iframe_content"></iframe>

私はこのスニペットを持っていますが、コードが非常に悪い..

function downloadlink ($d_id)
  {
    $res = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    $re = explode ('<iframe', $res);
    $re = explode ('src="', $re[1]);
    $re = explode ('"', $re[1]);
    $url = $re[0];
    return $url;
  } 

ありがとう!

4

2 に答える 2

3

html を解析するには、 simple_html_domなどの html パーサーを使用します。

$html = file_get_html('http://www.example.com/');

// Find all iframes
foreach($html->find('iframe') as $element)
   echo $element->src . '<br>';
于 2010-04-01T20:53:17.850 に答える
2

ここにどのスコープがあるのか​​わかりません-それはそのスニペットだけですか、それともページ全体を閲覧していますか?

ページ全体を閲覧している場合は、PHP SimpleHTMLDOMパーサーを使用できます。彼らのサイトからのわずかに変更された例:

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all iframes
foreach($html->find('iframe') as $element)
       echo $element->style . '<br>';

このサンプルコードはiframes、ページのすべてを調べて、それらのsrcプロパティを出力します。

PHPにはこのための組み込み関数(SimpleXMLなど)もありますが、DOMパーサーは非常に素晴らしく扱いやすいと思います(ご覧のとおり)。

于 2010-04-01T20:53:33.270 に答える