【发布时间】:2016-12-04 20:43:48
【问题描述】:
我正在使用 PHP CURL 对特定 URL 进行 API 调用。我能够在我的浏览器中收到响应。
CURL 将此响应保存在一个变量中,如下所示:
$output = curl_exec($ch);
现在当我使用
print_r(htmlspecialchars($output, true));
我在浏览器中收到此响应。
<?xml version="1.0" encoding="utf-16" standalone="no"?>
<loginres>
<sessiontoken>123456</sessiontoken>
<timeout>7/30/2016 11:18:22 AM</timeout>
<status>1</status>
</loginres>
由于这是一个 UTF-16 编码的响应,我无法使用 SimpleXML 或 DOM 文档。你可以试试这个(我失败了好几次)。什么都没有。
另外,我已经尝试过使用带有数组过滤器的“explode”函数,响应如下所示:
Array
(
[0] => version="1.0"
[2] => encoding="utf-16"
[3] => standalone="no"?>
[5] => 123456
[7] => 7/30/2016
[8] => 11:26:09
[9] => AM
[11] => 1
)
现在,我的问题是,我该如何使用这个文件...... 我想从 XML 标记中创建 PHP 变量,然后解析它们,以便在我的数据库中进行操作和保存。
另一种选择是将响应保存在一个 xml 文件中,在我的本地服务器中,并使用 Jquery、Ajax 来使用它,但我不知道该怎么做。 请帮忙。
【问题讨论】:
标签: php arrays xml curl utf-16