2010-04-01 4 views
0

c'est un peu difficile à comprendre.PHP Explode et Get_Url: ne pas afficher l'URL

dans le header.php i ont ce code:

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

j'obtenir l'ID avec cette variable lien $ -> 12345678 et $ url i obtenir le lien complet de la functions.php

dans le functions.php i cet extrait

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

et, normalement, il imprime l'url sur .. mais je ne peux pas comprendre le code ..

+0

D'où vient get_url()? – rogeriopvl

+0

Ce code est un gâchis, personne ne le touchera avec un poteau de 6 pieds. – animuson

Répondre

1

Il est écrit en nature d'une façon étrange, mais au fond ce que downloadLink() fait est ceci:

  1. Télécharger le code HTML http://www.example.com/<ID>/go.html
  2. Prenez le HTML et le diviser à chaque point où la chaîne <iframe se produit.
  3. Maintenant, prenez tout ce qui vient après le d'abord<iframe dans le code HTML, et divisez-le à chaque point où la chaîne src=" apparaît.
  4. Maintenant, prenez tout après le premier src=" et divisez-le à chaque point où " apparaît.
  5. Retour tout ce qui était avant le premier ".

Il est donc un moyen assez pauvre de le faire, mais effectivement il semble pour la première occurence de ce dans le code HTML:

<iframe src="<something>" 

et retourne le <something>.

Edit: une autre méthode, comme l'a demandé dans le commentaire:

chemin Il n'y a pas vraiment de « droit » particulier de le faire, mais d'une manière assez simple serait de changer à ceci:

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

je vous remercie pour la réponse, normalement il prend l'url dans l'iframe .. comment puis-je l'obtenir le droit chemin? – elmaso

+0

comment puis-je imprimer l'URL? avec: ? – elmaso

+0

Oui, ça devrait le faire. –