Salve, penso che il succo del discorso sia tutto nel titolo...
Avendo l'url di una pagina, c'è modo di memorizzare il codice della pagina stessa in una variabile (come fosse una stringa)?
Grazie infinite!
Salve, penso che il succo del discorso sia tutto nel titolo...
Avendo l'url di una pagina, c'è modo di memorizzare il codice della pagina stessa in una variabile (come fosse una stringa)?
Grazie infinite!
http://it2.php.net/manual/it/functio...t-contents.php
ma la tua configurazione potrebbe impedirti di usarlosu un file remoto (vedi manuale).. in quel caso, se non puoi cambiare configurazione, devi giocare con le socket
Grazie, comunque non ho problemi a cambiare la mia configurazione.
A questo punto però è sorto un altro problema, più specifico del mio caso.
Mentre questo metodo funziona per molti siti, a me servirebbe poter acquisire le pagine da Wikipedia, che alla mia richiesta:
oppone un bel:$pagina = file_get_contents("http://it.wikipedia.org/w/index.php?title=Special%3ASearch&search=bla&fullte xt=Ricerca");
(stesso errore anche per i link diretti alle voci)Warning: file_get_contents(http://it.wikipedia.org/w/index.php?...lltext=Ricerca): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
Che fare? Non esiste un altro metodo per acquisire la pagina? Ad esempio, facendo in modo che il server PHP si comporti come un browser?
wikipedia evidentemente protegge le pagine da accessi di questo tipo, e da wikipediano accanito ti dico che fa benissimo ^_^
[OT]
Sì, e sono d'accordo che fa benissimo
In ogni caso, non sono una malintenzionata, e mi servirebbe davvero risolvere il problema: mia madre è non vedente e da poco l'ho convinta a cominciare ad usare il pc per navigare, oltre che per leggere libri. Il problema è che lei ha poca pazienza, e quindi... avete mai provato a leggere una pagina di Wikipedia con uno screen reader?(bendati! senza fare i furbi!
) Probabilmente perderei la pazienza anche io. Quindi vorrei preparare uno script che "ripulisca" le pagine permettendo una lettura più comprensibile. Solo che le mie capacità di programmazione sono ancora piuttosto limitate, e la mia esperienza col php è pari a zero. Purtuttavia, ci terrei ad utilizzare questo linguaggio.
[/OT]
provato mai a personalizzare un css e usare quello?Originariamente inviato da Auliya
[OT]
Sì, e sono d'accordo che fa benissimo
In ogni caso, non sono una malintenzionata, e mi servirebbe davvero risolvere il problema: mia madre è non vedente e da poco l'ho convinta a cominciare ad usare il pc per navigare, oltre che per leggere libri. Il problema è che lei ha poca pazienza, e quindi... avete mai provato a leggere una pagina di Wikipedia con uno screen reader?(bendati! senza fare i furbi!
) Probabilmente perderei la pazienza anche io. Quindi vorrei preparare uno script che "ripulisca" le pagine permettendo una lettura più comprensibile. Solo che le mie capacità di programmazione sono ancora piuttosto limitate, e la mia esperienza col php è pari a zero. Purtuttavia, ci terrei ad utilizzare questo linguaggio.
[/OT]![]()
prova ad usare questo codice:
il blocco viene messo in base all'user agent del client, con questo sistema simuli la connessione di firefoxCodice PHP:
<?php
$address="http://it.wikipedia.org/w/index.php?title=Special%3ASearch&search=bla&fulltext=Ricerca";
$complete = parse_url($address);
$host = $complete["host"];
$port = $complete["port"] ? $complete["port"] : 80;
$uri = $complete["path"].'?'.$complete["query"];
$ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6';
$content="";
$fh = fsockopen($host, "80", $errno, $errstr, 10) or die("Errore di connessione");
$request = "GET $uri HTTP/1.1\r\nHost: $host\r\nUser-Agent: $ua\r\n\r\n\r\n";
fputs($fh, $request);
while ( $newline = fgets($fh, 512) ){
$content .= $newline;
}
$pagina = strtolower(substr( $content, strpos($content, "\n\r\n") ));
?>
Ehm... forse non hai ben presente il problema... (ma scusa, è uno script per non vedenti, lo stile non c'entra!)Originariamente inviato da }gu|do[z]{®©
provato mai a personalizzare un css e usare quello?![]()
@SoulHome: Grazie, è perfetto! L'unica cosa è che mi dà un:
Notice: Undefined index: port
sulla riga:
$port = $complete["port"] ? $complete["port"] : 80;
Vedo se riesco ad arrangiarmi :master: , ma in ogni caso ci posso convivere
Grazie!
è abbastanza normale che accada se non indichi la porta nell'indirizzo, tuttavia questo non compremette il funzionamento dello script (poichè questo è comunque un esito previsto), comuqnue puoi risolvere in due modi:
1)(all'inizo dle file)Codice PHP:
error_reporting(0);
2)(al posto della riga che da errore)Codice PHP:
$port = (empty($complete["port"])) ? 80 : $complete["port"];
edit:
il secondo sistema dovrebbe essere più performante ed è anche più corretto..
Grazie ancora, seguirò decisamente il tuo consiglio!