php – str_get_html没有加载有效的html字符串
发布时间:2020-12-13 13:45:36 所属栏目:PHP教程 来源:网络整理
导读:我使用curl收到一个html字符串: curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$html_string = curl_exec($ch); 当我回应它时,我看到了一个非常好的HTML,因为我需要解析我的解析需求. 但是,当尝试将此字符串发送到HTML DOM PARSER方法str_get_html($html_s
我使用curl收到一个html字符串:
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); $html_string = curl_exec($ch); 当我回应它时,我看到了一个非常好的HTML,因为我需要解析我的解析需求. 我尝试将其保存到文件并在文件上使用file_get_html打开,但同样的事情发生了. 这可能是什么原因?正如我所说,当我回应它时,html看起来非常好. 非常感谢. 代码本身: $html = file_get_html("http://www.bgu.co.il/tremp.aspx"); $v = $html->find('input[id=__VIEWSTATE]'); $viewState = $v[0]->attr['value']; $e = $html->find('input=[id=__EVENTVALIDATION]'); $event = $e[0]->attr['value']; $html->clear(); unset($html); $body = " A_STRING_THAT_CONTAINS_SOME_DATA " $ch = curl_init("http://www.bgu.co.il/tremp.aspx"); curl_setopt($ch,CURLOPT_POSTFIELDS,$body); curl_setopt($ch,true); $html_string = curl_exec($ch); $file_handle = fopen("file.txt","w"); fwrite($file_handle,$html_string); fclose($file_handle); curl_close($ch); $html = str_get_html($html_string);
你的卷曲链接似乎有很多元素(大文件).
我正在解析与您的链接一样大的字符串(文件)并遇到此问题. 在看到源代码后,我发现了问题.这个对我有用 ! 我发现simple_html_dom.php限制了你读的大小. // get html dom from string function str_get_html($str,$lowercase=true,$forceTagsClosed=true,$target_charset = DEFAULT_TARGET_CHARSET,$stripRN=true,$defaultBRText=DEFAULT_B R_TEXT,$defaultSpanText=DEFAULT_SPAN_TEXT) { $dom = new simple_html_dom(null,$lowercase,$forceTagsClosed,$target_charset,$stripRN,$defaultBRText,$defaultSpanText); if (empty($str) || strlen($str) > MAX_FILE_SIZE) { $dom->clear(); return false; } $dom->load($str,$stripRN); return $dom; } 你必须改变下面的默认大小(它位于simple_html_dom.php的顶部) define('MAX_FILE_SIZE',6000000); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |