HO questo codice che tramite le espressioni regolari estrapola dei nomi di stato da un sito :
codice:
<?php //inserisco la pagina nella variabile
$page='http://www.futbol24.com/';
//creo un array conposto da tutte le linee della pagina
$lines = file($page);
//creo unarray vuoto da popolare
$parole=array();
//scorro le linee della pagina
foreach ($lines as $testo) {
echo 'testo'.$testo;
//cerco il testo compreso tra /national e la /
preg_match_all('(/national/(.*?)/)', $testo, $ris);
//controllo se esiste la parola nella riga se esiste metto il risultato nella variabile
if(isset($ris[1][0])){
$risultato =$ris[1][0];
}
//se non esiste setto $risultato come null
else{
$risultato=null;
}
//se risultato è diverso da null
if($risultato!=null){
//metto il valore nell'array
array_push($parole, $risultato);
}
}
echo 'Prima di array_unique:<br/>';
print_r($parole);
$result=array_unique($parole);
echo 'Dopo array_unique:<br/>';
print_r($result);
Di fatto la'array parole e result sono la stessa cosa nonostante ci siano dei valori duplicati , perchè ?