str_get_html不起作用并返回空白

时间:2015-06-21 16:10:20

标签: php

我在代码

下面运行后出现了一个空白屏幕
<?php include('simple_html_dom.php');
$html = getSslPage('https://www.reddit.com/r/nottheonion/comments/3aev89/kim_jongun_claims_to_have_cured_aids_ebola_and/');


function getSslPage($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

$html = str_get_html($html);

echo $html;

调试最困难的部分是它与其他网址一起工作。我想知道为什么这些页面具有相同的DOM结构。任何人都知道为什么会这样?

2 个答案:

答案 0 :(得分:6)

这是因为html字符串太大而且simple_html_dom有一个可以解析的最大限制。以下是您可以采取的措施来增加限额。

打开simple_html_dom.php并更改此行

define('MAX_FILE_SIZE', 6000000);

更多信息..尝试

define('MAX_FILE_SIZE', 60000000); // add a zero at the end

这应该可以解决问题。请允许我知道,如果情况并非如此。

答案 1 :(得分:1)

这样的源代码:

defined('MAX_FILE_SIZE') || define('MAX_FILE_SIZE', 600000);

您可以在调用文件之前定义MAX_FILE_SIZE;

define('MAX_FILE_SIZE', 6000000);
require_once ( 'simple-html-dom.php' );