Index de l'article

Formatage des données

Vous êtes donc capable de récupérez les données d'une page. C'est déjà bien, mais il nous faut les formatter un minimum, car fournies en HTML elles contiennent ici des balises, tabulations, sauts de ligne et autres espaces en début ou fin de ligne. Pas très lisible tout ça...

Avec ce type de code pour chaque champ (ici un exemple sur un champ city) :

...
 
$city_ = $city->plaintext ;
 
$city_ = str_replace("\n","",$city_);
$city_ = str_replace("\r","",$city_);
$city_ = str_replace("\t","",$city_);
 
$city_ = str_replace('"',' ',$city_);
$city_ = str_replace(';',' ',$city_);
$city_ = str_replace('  ',' ',$city_);
 
$city_ = trim($city_); $city_ = mb_convert_case($city_, MB_CASE_TITLE) ;
 
...
  • Le plaintext est nécessaire pour évacuer le HTML.
  • Les replaces nettoient les tabulations, sauts de ligne, guillemets doubles, points-virgules et doubles espaces.
  • Le trim supprime les espaces en début et fin de ligne.

J'utilise ici un petit caractère de différenciation des variables (le underscore , c'est juste pour renommer de nouvelles variables à partir des 1ères), cela pour forcer la prise en compte du plaintext dans nos variables (exemple : $city_ reprend $city). En effet j'ai remarqué que dans certains cas, sans cela, la variable n'était pas prise en compte, mais c'est sans doute à cause d'une erreur dans mon code... Peu importe pour la suite.