Come estrarre i link in una pagina e inserire il risultato in un altro file con PHP

October 21

Il linguaggio di scripting PHP è stato progettato fin dall'inizio per essere un linguaggio altamente Internet-aware, in modo che mette in mostra una serie di caratteristiche che lo rendono relativamente facile lavorare con dati su Internet. Una operazione che può essere eseguita solo in una decina di righe di codice è spogliando i link da una pagina e la loro memorizzazione in un file locale per l'uso altrove. Questo può essere utile per applicazioni come i motori di ricerca. Fortunatamente, il processo è semplice e richiede solo pochi minuti per completare.

istruzione

1 Creare un nuovo file di testo nel vostro editor preferito. Incollare i seguenti tag PHP in esso premendo il tasto "Ctrl" e "V" contemporaneamente:

<? Php

?>

Il codice per il resto del tutorial andrà tra questi due tag.

2 Incollare il seguente nel file PHP per scaricare la pagina web e memorizzarlo nella memoria:

$ Handle = fopen ( "http://www.domain.com/page.html", "r");

$ Page = stream_get_contents ($ handle);

fclose ($ handle);

3 Incollare il seguente nel file PHP per analizzare il contenuto della pagina e memorizzare tutti i link in un array:

preg_match_all ( "/ a [\ s] +

[^>]? href [\ s] = [\ s \" \ '] + "." (.?) [\ "\'] +.?>". "([^ <] + |.?) <\ / a> /?", $ var, e $ partite);

Questo utilizza sintassi delle espressioni regolari per analizzare il testo della pagina alla ricerca di URL all'interno di un tag href> <a e memorizza le partite in un array di nome $ partite.

4 Incollare il seguente nel file PHP di scrivere tutti gli URL scoperti in un file di testo, con ogni URL sulla propria riga:

$ output = fopen ( "results.txt", "w");

foreach ($ partite da $ url) {

fwrite($output, $url."\n");

}

fclose ($ output);

Consigli e avvertenze

  • Questo script estrae i collegamenti ipertestuali. Tuttavia, se il testo di un URL è su una pagina, ma non è un collegamento, sarà ignorata da questo script.