php – str_get_html没有加载有效的html字符串

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – str_get_html没有加载有效的html字符串脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用curl收到一个htML字符串:
curl_setopt($ch,CURLOPT_RETURNtransfer,true);
$html_string = curl_exec($ch);

当我回应它时,我看到了一个非常好的HTML,因为我需要解析我的解析需求.
但是,当尝试将此字符串发送到HTML DOM PARSER方法str_get_html($html_string)时,它不会上传它(从方法调用返回false).

我尝试将其保存到文件并在文件上使用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的顶部)
也许变成1亿?由你决定.

define('MAX_FILE_SIZE',6000000); 

脚本宝典总结

以上是脚本宝典为你收集整理的php – str_get_html没有加载有效的html字符串全部内容,希望文章能够帮你解决php – str_get_html没有加载有效的html字符串所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。