J'ai testé ce bout de code dans mon scraper :
Code :
preg_match('/<li> <span class="film_info lighten fl">Nationalit.</span> <div class="oflow_a">(.*?)</div> </li>/', $recup, $nationalite);
|
Et comme tu peut le voir, ça match :
Array
(
[0] => <li> <span class="film_info lighten fl">Nationalité</span> <div class="oflow_a"> <span class="acLnk 1F4446484E1FCB4FC3C21FC04AC6C21E232020211F underline">Américain</span> </div> </li>
[1] => <span class="acLnk 1F4446484E1FCB4FC3C21FC04AC6C21E232020211F underline">Américain</span> )
|
Mais l'une des première chose que je fait après avoir récupére le flux HTML UTF-8 sur allocine, c'est de le décoder (entre autre).
J'ai eu trop de problèmes avec les caractères accentués.
Je m'assure aussi que mon fichier php ne soit pas en UTF-8 mais bien en ANSI (l'utilisation d'un éditeur comme Notepad++
est très pratique pour ça).
Mes expressions régulières sont un peu plus simple aussi :
Code :
if (preg_match( "/Nationalité(.*?)<\/div>/", $contents, $pays) > 0) { }
|
Tu peut toujours sortir de l'UTF-8 en réencodant (je le fait pour des flux XML) :
Code :
$value= $xml->createTextNode ( utf8_encode( $data['pays']));
|