Ciao a tutti,
premetto di avere letto tutti gli argomenti a riguardo e le discussioni del forum,
ma non sono riuscito a risolvere il mio problema.
Non sono tanto esperto di PHP ma stavo seguendo un tutorial per il cURL,
come esempio prendeva una pagina di youtube ed estraeva 2 dati: gli iscritti e la visualizazione,
ora il cURL funziona perchè la pagina viene salvata anche su file,
ma in fase di parsing non c'è verso che riesca a estrarre i dati che mi servono, copio il codice detemi una mano, ho provato diverse espressioni regolari ma non ho risolto nulla:
Codice PHP:
<?php
// Creo un nuovo Curling
$url = "http://www.youtube.com/user/pinnawarner";
$ch = curl_init();
// Settaggio Url ed Opzioni
curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" );
//curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept-Language: it-it,en") ); curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);
$error = curl_error($ch);
// chiudo cURL
curl_close($ch);
// salva l'html su file $fp = fopen("curl.txt","w+");
fputs($fp,$result);
//Parsing
preg_match_all("(<span class=\"stat-value\">(.*)</span>
<span class=\"stat-name\">iscritti</span>)siU", $result, $r1);
$iscritti = $r1[1][0];
preg_match_all("#\<span class=\"stat-value\"\>(.*?)\</span\>
\<span class=\"stat-name\"\>visualizzazioni\</span\>#si", $result, $r2);
$vis = $r2[1][0];
echo "Iscritti = " . $iscritti;
echo "
Visualizzazioni = " . $vis;
?>
Volevo capire inanzitutto il risultato del preg_match viene salvato in un array o in una matrice?
Mi potete dare una mano con l'espressione regolare?
Alla fine delle stessa io ho inserito siU o #si come nel turorial che ho seguito ma non ne capisco il significato, ho visto altre guide, ma non c'è ne una in italiano esaustiva sull'argomento.