Salve, sono un nuovo iscritto al forum ma seguo html.it e il vostro forum da tempo e credo che sia l'ambiente più adatto per discutere di questo mio problema.
Una piccola precisazione prima di iniziare: il mio sito è su altervista dunque non php5.
In sostanza, da una pagina di un sito esterno al mio che chiameremo http://www.sitoesterno.it/prova.html che si presenta così
dovrei estrarre "123".codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it-it" lang="it-it" > <body id="page_bg"> <div id="logo_bg"> <div class="nopad"> <table class="contentpaneopen"> <tr> <td valign="top"> <center> <div class='content-linker' style='font-size:160%;line-height: 1.1em;'> Click Me </div> </center> </td> </tr> </table> </div> </div> </body> </html>
Dunque devo recuperare l'attributo href, cioè /linkdarecuperare123.html e poi con una substring estrarre 123.
Il mio problema è ottenere /linkdarecuperare123.html
In rete ho trovato questo script che però non riesco ad adattare al mio caso.
dove pagina.html (il file da cui estrarre) era questo qui sotto e l'elemento da ottenere era il content commentato.Codice PHP:<?php
function get_tag( $attr, $value, $xml ) {
$attr = preg_quote($attr);
$value = preg_quote($value);
$tag_regex = '/<div[^>]*'.$attr.'="'.$value.'">(.*?)<\\/div>/si';
preg_match($tag_regex,
$xml,
$matches);
return $matches[1];
}
$yourentirehtml = file_get_contents("pagina.html");
$extract = get_tag('id', 'content', $yourentirehtml);
echo $extract;
?>
codice:<html> <head> </head> <body> <div id="content"> some content</p> </div> </body> </html>
Per quanto riguarda la substring invece non ho problemi: avendo /linkdarecuperare123.html posso ricavare 123 con
dove $url è /linkdarecupare123.htmlCodice PHP:<?php
$substr = substr($url, 17, 3);
?>
Grazie in anticipo a tutti coloro che si cimenteranno o spenderanno anche solo un secondo nella lettura di questo post![]()

Rispondi quotando