Uncaught Ошибка: вызов неопределенной функции get_file_html () - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь проанализировать эту веб-страницу, которая работает нормально, когда я добавляю код детали CURL после include "simple_html_dom.php";, но если прокомментировать эту деталь и использовать только simple_html_dom, я получаю сообщение об ошибке:

Uncaught Error: Call toundefined функция get_file_html () в filepath \ index.php: 18 Трассировка стека: # 0 {main}, брошенный в filepath \ index.php

Нужен ли мне curl, если файл не расположен локально?

Извините, если это нубский вопрос, я только начинаю с php.

<?php

    include "simple_html_dom.php";

    $html = new simple_html_dom();
    $html = get_file_html('https://in.tradingview.com/symbols/NSE-TCS/');

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

?>

CURL

/*  $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://in.tradingview.com/symbols/NSE-TCS/");

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $response = curl_exec($ch);

    curl_close($ch);
    //echo $response;*/

PS Я скачал simple_html_dom.php с здесь и файл находится в корневом каталоге

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете использовать str_get_html() с ответом на ваш запрос curl, чтобы код выглядел примерно так ...

include "simple_html_dom.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://in.tradingview.com/symbols/NSE-TCS/");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

$html = str_get_html($response);
foreach($html->find('a') as $element)   {
    echo $element->href . " -> " . $element->plaintext .'<br>';
}
...