PHP Explode: Comment télécharger et Split un HTML Partie spécifique?
Question
exemple: dans ce domaine http://www.example.com/234234/go. html est un seul code iframe-
Comment puis-je obtenir l'URL dans le code iframe-?
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>
i cet extrait, mais son très mauvais code ..
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;
}
merci!
La solution
A l'aide d'un analyseur HTML comme simple_html_dom pour analyser html.
$html = file_get_html('http://www.example.com/');
// Find all iframes
foreach($html->find('iframe') as $element)
echo $element->src . '<br>';
Autres conseils
Je ne sais pas ce que vous avez portée ici - est-ce juste cet extrait, ou vous naviguez sur des pages entières
?Si vous naviguez sur des pages entières, vous pouvez utiliser le PHP simple HTML DOM Parser . Un exemple légèrement modifié de leur site:
// 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>';
Ce code exemple passe par tous iframes
sur la page, et transmet leurs biens src
.
PHP a intégré des fonctions pour cela aussi (comme SimpleXML ), mais je trouve les DOM Parser très agréable et facile à manipuler (comme vous pouvez le voir).