加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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,因为我需要解析我的解析需求.
但是,当尝试将此字符串发送到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); 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读