0

少しわかりにくいです。

header.php には、次のコードがあります。

<?
$ID = $link;
$url = downloadLink($ID);
?>

この変数 $link --> 12345678 で ID を取得し、$url を使用して functions.php から完全なリンクを取得します

functions.php には、このスニペットがあります

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;
  } 

そして通常、それはURLを出力します..しかし、私はコードを理解できません..

4

1 に答える 1

1

奇妙な方法で書かれていますが、基本的には次のようになってdownloadLink()います。

  1. からHTMLをダウンロードしますhttp://www.example.com/<ID>/go.html
  2. HTMLを取得し、文字列が出現するすべてのポイントで分割し<iframeます。
  3. ここで、HTMLの最初 の後に続くすべてのものを取得し、文字列が表示されるすべてのポイントで分割します。<iframesrc="
  4. ここで、最初の後にすべてを取り、表示src="されるすべてのポイントで分割し"ます。
  5. 最初の前にあったものを返し"ます。

したがって、これを行うにはかなり貧弱な方法ですが、事実上、HTMLコードでこれが最初に発生したものを探します。

<iframe src="<something>"

そして、を返します<something>

編集:コメントで要求された別の方法

それを行うための特定の「正しい」方法は実際にはありませんが、かなり簡単な方法は、これを次のように変更することです。

function downloadlink ($d_id)
{
    $html = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    preg_match('/\<iframe src="(.+?)"/', $html, $matches);
    return $matches[1];
}
于 2010-04-01T20:03:01.083 に答える