Ho creato tempo fa questo script, tecnicamente dovrebbe fare quello che vuoi.
Il problema è che non sono certo della compatibilità con IE e FF blocca l'apertura di connessioni XmlHttpRequest verso URL esterni.
C'è comunque un controllo che teoricamente dovrebbe permetterti di accettare o meno l'apertura della connessione, ma a me non funziona.
Codice PHP:
<script type="text/javascript">
function html(url)
{
XMLHTTP = browser(stato());
XMLHTTP.open("GET", url, true);
XMLHTTP.send(null);
}
function stato()
{
if (XMLHTTP.readyState == 4)
{
document.getElementByid('risultato').innerHTML = XMLHTTP.responseText.search("/<head>(.*)<\/head>/"); // dovrebbe trovare il testo tra <head> e </head>
}
}
function browser(browser)
{
if (navigator.userAgent.indexOf("MSIE") != (-1))
{
var Classe = "Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
{
Classe = "Microsoft.XMLHTTP";
}
try
{
OggettoXMLHTTP = new ActiveXObject(Classe);
OggettoXMLHTTP.onreadystatechange = browser;
return OggettoXMLHTTP;
}
catch(e)
{
alert("Errore: l'ActiveX non verrà eseguito!");
}
}
else if (navigator.userAgent.indexOf("Mozilla") != (-1))
{
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {
alert("Permission UniversalBrowserRead denied.");
}
OggettoXMLHTTP = new XMLHttpRequest();
OggettoXMLHTTP.onload = browser;
OggettoXMLHTTP.onerror = browser;
return OggettoXMLHTTP;
}
else
{
alert("Browser non abilitato");
}
}
</script>
<div id="risultato"></div>
L'unica valida alternativa sarebbe quella di usare PHP insieme a javascript (o anche da solo).
Se vuoi far girare lo script su AlterVista ti ricordo che non puoi, essendo le connessioni esterne disabilitate.
Altrimenti ti basta qualcosa del genere:
Codice PHP:
<?
preg_match(htmlspecialchars("#<head>(.*)</head>#si"),htmlspecialchars(mysql_escape_string(file_get_contents("http://www.google.it"))),$ris);
echo $ris['0'];
?>
Ciao!