我正在编写一个脚本,它会使用curl命令获取另一个网站的内容并解析结果。但是我遇到了一些奇怪的问题,不知道出了什么错;下面是我代码中有问题的部分以及它返回的输出:
<?php
//my code to do some logic and build the curl
$BookingConfirmation = curl_exec($ch);
$testString = 'a test';
var_dump($testString);
echo '<br />';
echo $BookingConfirmation;
echo '<br />';
var_dump($BookingConfirmation);
echo '<br />';
$bookingResults = explode('|', $BookingConfirmation);
var_dump($bookingResults);
die();
?>
当我加载页面时,会得到以下输出结果:
string(6) "a test"
booking|1||4000015|23628
string(2386) " booking|1||4000015|23628 "
array(6) {
[0]=> string(766) " string(1526) "108^1"> booking"
[2]=> string(1) "1"
[3]=> string(0) ""
[4]=> string(7) "4000015"
[5]=> string(81) "23628 "
}
根据$BookingConfirmation所显示的内容,我不认为数组中会包含"108^1"。此外,为什么$BookingConfirmation的var_dump会显示它是一个2386个字符长的字符串?它远远没有那么长。另外一个问题是,应该在数组中的第二个元素发生了什么?($bookingResults[1]) 最终的数组转储显示有6个元素,但由于#1被跳过,只显示了5个。
同时,值得注意的是,这些变量名在代码中没有被使用。
如有任何想法,非常感谢。
string(2386) " booking|1||4000015|23628 "
,这意味着该字符串有2386
个字节。你应该查看测试页面的view-source
源代码,而不是渲染后的HTML,因为显然它隐藏了大部分字符串。 - Esailija