早上好!
我试图刮掉CME网页,将底部的桌子拉到二维数组。 (http://www.cmegroup.com/trading/equity-index/us-index/e-mini-sandp500_quotes_settlements_futures.html)
代码如下。问题是,var_dump表示字符串(507),但只显示了大约300个字符!三个问题:
1)如何显示任何隐藏的标签或字符? 2)为什么说507个字符但只显示约300个字符? 3)如何删除隐藏的任何字符?
感谢您的帮助!
以下是我使用的代码:
$EMiniURL = "http://www.cmegroup.com/trading/equity-index/us-index/e-mini-sandp500_quotes_settlements_futures.html";
$EMiniRaw = file_get_contents($EMiniURL);
$EMiniRaw = strip_tags($EMiniRaw);
$StartChr = strpos($EMiniRaw, "About This Report") + strlen("About This Report");
$EndChr = strpos($EMiniRaw, "Total", $StartChr) - strlen("Total");
$TotalLen = $EndChr - $StartChr;
$RawStr = substr ($EMiniRaw, $StartChr, $TotalLen);
var_dump ($RawStr);
这是var_dump结果:
string(532)" DEC 14 1938.50 1964.50 1935.75 1959.75 +21.75 1960.25 1,551,405 2,751,445 MAR 15 1931.00 1956.25B 1928.00A 1952.00A +21.75 1952.50 2,244 5,495 JUN 15 1920.25 1949.00B 1920.25 1945.00A +22.00 1945.50 88 350 SEP 15 1925.00 1937.75B 1925.00 1937.75B +21.75 1938.75 6 204 DEC 15 1935.75 1935.75 1935.75 1935.75 +22.00 1932.75 1 212"
答案 0 :(得分:0)
原来有新行和标签。显然PHP strip_tags不会删除所有内容。使用以下内容完成清理:
$NewStr = preg_replace("/\s+/", " ", $OldStr);
只是说;)