powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Данные из HTML с помощью PHP
7 сообщений из 7, страница 1 из 1
Данные из HTML с помощью PHP
    #39109778
bad_tula
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, подскажите как вытащить данные из html следующего вида:
<!DOCTYPE html>
<html>
<head>
<title>
Заголовок
</title>
.
.
.
<table class="striped techpars">
<tr>
<th>Тип разъема / корпуса </th>
<td>Socket 1150</td>
</tr>
</table>
.
.
.

интересует таблица с данными class="striped techpars"

Я так понимаю мне нужен php запрос в котором будет а)путь к html файлу; б)выборка данных, а именно таблицы class="striped techpars"; в)передача этих данных в некую переменную и вывод её на экран
но как???????
...
Рейтинг: 0 / 0
Данные из HTML с помощью PHP
    #39109820
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне обычная задача парсинга. Выборку данных можно регулярками сделать или использовать расширение для работы с DOM.
...
Рейтинг: 0 / 0
Данные из HTML с помощью PHP
    #39109889
bad_tula
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleВполне обычная задача парсинга. Выборку данных можно регулярками сделать или использовать расширение для работы с DOM.
Для кого то может и обычная задача, а у меня ничего не выходит:

<?php

$url = 'здесь путь к HTML странице';
$start = '<table class="striped techpars">'; // начало пасинга
$finish = '</table>'; //конец пасинга

$content = file_get_contents($url);
$position = strpos($content, $start);
$content = substr($content, $position);
$position = strpos($content, $finish);
$content = substr($content, 0, $position);
echo $content; //должно вывести результат
?>

что то не так, а вот что понять немогу
...
Рейтинг: 0 / 0
Данные из HTML с помощью PHP
    #39109907
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bad_tula, проверяйте по шагам.
Получили контент file_get_contents() - проверили, действительно ли получено ожидаемое в полном объёме (а не ответ прокси о недоступности хоста, например).
Нашли позицию strpos() - проверили номер позиции (если false - не найдено).
Ну и так далее. Ошибка обязательно обнаружится.

Какие могут быть потенциальные проблемы. Например, строка поиска '<table class="striped techpars">'. По спецификации HTML не регламентируется число пробелов/табуляции, да и перевод строки кое-где допустим. Это помимо порядка следования имён классов, регистра символов и двойных/одинарных кавычек.
...
Рейтинг: 0 / 0
Данные из HTML с помощью PHP
    #39109914
bad_tula
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklebad_tula, проверяйте по шагам.
Получили контент file_get_contents() - проверили, действительно ли получено ожидаемое в полном объёме (а не ответ прокси о недоступности хоста, например).
Нашли позицию strpos() - проверили номер позиции (если false - не найдено).
Ну и так далее. Ошибка обязательно обнаружится.

Какие могут быть потенциальные проблемы. Например, строка поиска '<table class="striped techpars">'. По спецификации HTML не регламентируется число пробелов/табуляции, да и перевод строки кое-где допустим. Это помимо порядка следования имён классов, регистра символов и двойных/одинарных кавычек.

Как лучше проверить? Вывести на экран при помощи echo (имя переменной); или есть другие способы?
...
Рейтинг: 0 / 0
Данные из HTML с помощью PHP
    #39109979
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bad_tulaКак лучше проверить? Вывести на экран при помощи echo (имя переменной); или есть другие способы?На экран обычно проще и быстрее. В ряде случаев удобнее выводить в файл (например, при отладке серверных обработчиков ajax-запросов или при формировании отдающихся на лету файлов). По ситуации, в общем.

Использовать echo можно, но безоговорочно уповать на неё не стоит. В некоторых случаях echo может ввести в заблуждение. Для echo нет разницы, выводится ли пустая строка или булево значение - и в том и в другом случае ничего не напечатает и, таким образом, определить значение переменной не представляется возможным. Да и с массивами и объектами целиком она не работает. По мне так удобнее var_dump() или print_r().

Ещё можно использовать die() - печатает сообщение аналогично echo и завершает работу скрипта. Таким образом, искомое будет в конце вывода.
...
Рейтинг: 0 / 0
Данные из HTML с помощью PHP
    #39110026
bad_tula
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklebad_tulaКак лучше проверить? Вывести на экран при помощи echo (имя переменной); или есть другие способы?На экран обычно проще и быстрее. В ряде случаев удобнее выводить в файл (например, при отладке серверных обработчиков ajax-запросов или при формировании отдающихся на лету файлов). По ситуации, в общем.

Использовать echo можно, но безоговорочно уповать на неё не стоит. В некоторых случаях echo может ввести в заблуждение. Для echo нет разницы, выводится ли пустая строка или булево значение - и в том и в другом случае ничего не напечатает и, таким образом, определить значение переменной не представляется возможным. Да и с массивами и объектами целиком она не работает. По мне так удобнее var_dump() или print_r().

Ещё можно использовать die() - печатает сообщение аналогично echo и завершает работу скрипта. Таким образом, искомое будет в конце вывода.
Разобрался. Выводил после каждой команды echo();
не работала вот это: $content = file_get_contents($url); - причиной были настройки на хостинге настройки PHP allow_url_fopen включил и всё заработало.
Оказывается для того что бы понять что то и решить задачу всего то надо - с кем то поговорить :)
Спасибо....
Тему можно закрывать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Данные из HTML с помощью PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]