PHP Explode ve Get_Url: URL yukarı gösterilen değil

1 Cevap php

anlamak için onun biraz zor.

header.php i bu kodu vardır:

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

I get the ID with this Variable $link --> 12345678 and with $url i get the full link from the functions.php

functions.php i bu pasajı var

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

ve normalde ben kod anlayamıyorum, dışarı url yazdırır .. ama ..

1 Cevap

Bu garip bir şekilde tür yazılı, ama temelde ne downloadLink() yaptığı bu oluyor:

  1. http://www.example.com/<ID>/go.html gelen HTML indirin
  2. HTML almak ve dize <iframe oluştuğunda her noktada bölünmüş.
  3. Şimdi HTML first <iframe sonra geldi ve dize src=" görüntülenir her noktada bölünmüş her şeyi almak.
  4. Şimdi ilk src=" sonra her şeyi almak ve " görüntülenir her noktada bölünmüş.
  5. Ne olursa olsun geri dönmek before ilk ".

Yani bunu yapmanın oldukça kötü bir yoldur, ama etkili bir HTML kodunda bu ilk oluşumu arar:

<iframe src="<something>"

Ve <something> döndürür.

Edit: a different method, as requested in comment:

Orada bunu yapmak için gerçekten herhangi bir "doğru" yol değil, ama oldukça basit bir şekilde bu onu değiştirmek olacaktır:

function downloadlink ($d_id)
{
    $html = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    preg_match('/\<iframe src="(.+?)"/', $html, $matches);
    return $matches[1];
}