如何修复使用file_get_html

时间:2019-04-21 11:37:15

标签: php laravel

我使用file_get_html的这段代码从php中的html文件中回显了tah。

但是在本地运行代码后出现错误。

错误:

  

致命错误:未捕获错误:调用C:\ xampp \ htdocs \ 2 \ index.php:2中未定义的函数file_get_html()堆栈跟踪:#0 {main}抛出C:\ xampp \ htdocs \ 2 \第2行上的index.php

php代码:

<?php
$html = file_get_html('http://example.com/');

// Find all images 
foreach($html->find('img') as $element);
    echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element);
    echo $element->href . '<br>';
?>

这是更改后的错误:

  

警告:file_get_contents():流不支持在75行的C:\ xampp \ htdocs \ 2 \ simple_html_dom.php中搜索

     

警告:file_get_contents():在第75行的C:\ xampp \ htdocs \ 2 \ simple_html_dom.php中的流中找不到-1位置

     

致命错误:未捕获错误:在C:\ xampp \ htdocs \ 2 \ index.php:7布尔值上调用成员函数find()堆栈跟踪:#0 {main}抛出在C:\ xampp \ htdocs中\ 2 \ index.php在第7行

2 个答案:

答案 0 :(得分:1)

我认为您缺少一些步骤。应该看起来像这样:

// Include the library
include('simple_html_dom.php');

// Retrieve the DOM from a given URL
$html = file_get_html('http://example.com/');

// Find all "A" tags and print their HREFs
foreach($html->find('a') as $e) 
    echo $e->href . '<br>';

这是图书馆的链接,希望它能起作用... https://tenet.dl.sourceforge.net/project/simplehtmldom/simplehtmldom/1.8.1/simplehtmldom_1_8_1.zip

答案 1 :(得分:1)

此外,您缺少零件

您可以使用这种方法,我认为它更快,更容易

首先,使用file_get_contents获取网站内容

使用DOM分析和审查并获得所需的零件

例如:

require __DIR__ . '/simple_html_dom.php';

$html = file_get_html('http://www.yourtarget.com/');


foreach($html->find('img') as $element)
       echo $element->src . '<br>';


foreach($html->find('a') as $element)
       echo $element->href . '<br>';