0

このページの出力を解析しようとしています - > http://master.anti3d.com/raw_server_list2.php

そのマスターサーバーのドキュメントには、すべてのエントリがこのように分離されていると書かれています

注: LF = LineFeed = 10

フォーマット: serverName[LF]ipAddress:port;users/maxusers;gameCount;version;location[LF]

例:

サーバー名1

111.111.111.1111:27888;0/25;0.86;USA

サーバー名2

222.222.222.2222:27888;0/50;0.86;カナダ

オブジェクト指向CURLを使用してサイトデータを取得するためにOOCurlライブラリを使用しています

<?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 はページ情報を取得しますが、\n 文字または改行、ASCII 10 を使用して展開しようとすると、機能しません。ページ出力をダウンロードして 16 進エディタで表示したところ、\x0a、\n、改行が使用されています

私は何を間違っていますか?

4

1 に答える 1

9

の一重引用符を変更します

$parsedata = explode('\n', $data);

改行を適切にエンコードするには、二重引用符にします。

$parsedata = explode("\n", $data);

例えば:

print '\n'; // prints a backslash, followed by the letter n
print "\n"; // prints a newline

PHP マニュアルの文字列:

注: 他の 2 つの構文とは異なり、特殊文字の変数とエスケープ シーケンスは、それらが単一引用符で囲まれた文字列内にある場合、展開されません。

于 2010-01-03T06:28:06.380 に答える