【问题标题】:How to 'explode' this page output如何“爆炸”此页面输出
【发布时间】:2010-01-03 06:25:07
【问题描述】:

我正在尝试解析此页面的输出 -> 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;美国

服务器名称2

222.222.222.2222:27888;0/50;0.86;加拿大

所以我使用 OOCurl 库使用面向对象的 CURL 检索站点数据

<?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 进行分解时,它就不起作用了。我下载了页面输出并使用十六进制编辑器查看它,它使用 \x0a、\n、换行

我做错了什么?

【问题讨论】:

    标签: php curl newline explode


    【解决方案1】:

    修改单引号

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

    双引号以正确编码换行符。

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

    例如:

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

    Strings in the PHP Manual

    注意:与其他两种语法不同, 变量和转义序列 特殊字符不会 当它们单独出现时展开 带引号的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多