Comment « exploser » cette sortie page
Question
Je suis en train d'analyser la sortie de cette page -> http: //master.anti3d. com / raw_server_list2.php
La documentation de ce serveur maître dit que chaque entrée est séparée de cette façon
Note: LF = = 10 LineFeed
Format: serverName [LF] ipAddress: port, les utilisateurs / maxusers, gameCount, la version, l'emplacement [LF]
Exemple:
Serveur Name1
111.111.111.1111: 27888; 0/25; 0,86; Etats-Unis
Serveur Nom2
222.222.222.2222: 27888; 0/50; 0,86; Canada
J'utilise la bibliothèque OOCurl pour récupérer les données du site en utilisant CURL orientée objet
<?php
include_once('oocurl.php');
$fetchmaster = new Curl('http://master.anti3d.com/raw_server_list2.php');
$data = $fetchmaster->exec();
$parsedata = explode('\n', $data);
print_r($parsedata);
?>
Curl récupère les informations de la page, mais lorsque je tente de faire exploser en utilisant caractère \ n ou saut de ligne, ASCII 10, il ne fonctionne tout simplement pas. J'ai téléchargé la sortie de la page et l'ai vu avec un éditeur hexadécimal et il utilise \ x0a, \ n, linefeed
ce que je fais mal?
La solution
Modifier les guillemets simples dans
$parsedata = explode('\n', $data);
pour des guillemets doubles pour encoder une nouvelle ligne.
$parsedata = explode("\n", $data);
Par exemple:
print '\n'; // prints a backslash, followed by the letter n
print "\n"; // prints a newline
Note: Contrairement aux deux autres syntaxes, variables et séquences d'échappement caractères spéciaux ne sera pas élargi quand ils se produisent en simple chaînes entre guillemets.