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?

Était-ce utile?

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

Cordes dans le manuel PHP :

  

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top