gpt4 book ai didi

php - str_get_html 未加载有效的 html 字符串

转载 作者:可可西里 更新时间:2023-10-31 22:18:28 25 4
gpt4 key购买 nike

我使用 curl 收到一个 html 字符串:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html_string = curl_exec($ch);

当我 echo 它时,我看到了一个非常好的 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, CURLOPT_RETURNTRANSFER, 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);

最佳答案

你的 curl 链接似乎有很多元素(大文件)。

我正在解析一个与您的链接一样大的字符串(文件)并遇到这个问题。

看到源码后,我发现了问题所在。它对我有用!


我发现 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, $lowercase, $stripRN);           return $dom;  }

您必须更改下面的默认大小(它位于 simple_html_dom.php 的顶部)
也许改成100000000?这取决于你。

define('MAX_FILE_SIZE', 6000000); 

关于php - str_get_html 未加载有效的 html 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14172467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com