Вывести все только определенный блок

217
16 января 2018, 13:41

Здравствуйте. Есть большой html файл. Его вывожу на страницу кодом

$file = file_get_contents('./file.html', FILE_USE_INCLUDE_PATH);

В итоге выводиться весь код HTML файла. Но мне не нужен весь код, мне нужен только такой блок из этого кода:

<TBODY class="content"> 
	  <TR CLASS="offline" id="" nopoll=""> 
      <TD>тут контент</TD> 
    </TR> 
     
    <TR CLASS="online" id="" nopoll=""> 
      <TD>тут контент</TD> 
    </TR> 
     
    <TR CLASS="connect" id="" nopoll=""> 
      <TD>тут контент</TD> 
    </TR> 
</TBODY>

Как вывести на странице только этот блок?

Изначально хотел использовать Simple HTML DOM Parser - но он не подходит, так как HTML файлы иногда приходят нестандартные, и он выдает ошибку Call to a member function find() on a non-object

Answer 1

С помощью regular expression взять все, что <tbody> ... </tbody>

preg_match('/(<tbody.+?<\/tbody>)/mis', $find, $m)
var_dump($m);

https://regex101.com/r/SqgbqP/1

Замечание: такое сработает нормально только если в вашем './file.html' только одна таблица. Иначе можно попробывать использовать preg_match_all

READ ALSO
Почему Simple HTML DOM Parser выдает ошибку?

Почему Simple HTML DOM Parser выдает ошибку?

Подключаю парсерИщу ссылки

280
Авторизация Kohana 3.3 только через username!

Авторизация Kohana 3.3 только через username!

Здравствуйте! Помогите пожалуйста разобраться в ситуации и решить ееВ общем сделал регистрацию, теперь перешел к авторизации

229
Получить публичный ключ из приватного bitcoin

Получить публичный ключ из приватного bitcoin

Правильно ли я понимаю, что получить адрес bitcoin кошелька из приватного ключа можно алгоритмом на картинке ниже:

332
Что не так в решении задачи?

Что не так в решении задачи?

Вот условие задачи:

327