Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, подскажите как вытащить данные из 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"; в)передача этих данных в некую переменную и вывод её на экран но как??????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 19:01 |
|
||
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
Вполне обычная задача парсинга. Выборку данных можно регулярками сделать или использовать расширение для работы с DOM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 20:28 |
|
||
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
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; //должно вывести результат ?> что то не так, а вот что понять немогу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 22:33 |
|
||
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
bad_tula, проверяйте по шагам. Получили контент file_get_contents() - проверили, действительно ли получено ожидаемое в полном объёме (а не ответ прокси о недоступности хоста, например). Нашли позицию strpos() - проверили номер позиции (если false - не найдено). Ну и так далее. Ошибка обязательно обнаружится. Какие могут быть потенциальные проблемы. Например, строка поиска '<table class="striped techpars">'. По спецификации HTML не регламентируется число пробелов/табуляции, да и перевод строки кое-где допустим. Это помимо порядка следования имён классов, регистра символов и двойных/одинарных кавычек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 22:50 |
|
||
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
vklebad_tula, проверяйте по шагам. Получили контент file_get_contents() - проверили, действительно ли получено ожидаемое в полном объёме (а не ответ прокси о недоступности хоста, например). Нашли позицию strpos() - проверили номер позиции (если false - не найдено). Ну и так далее. Ошибка обязательно обнаружится. Какие могут быть потенциальные проблемы. Например, строка поиска '<table class="striped techpars">'. По спецификации HTML не регламентируется число пробелов/табуляции, да и перевод строки кое-где допустим. Это помимо порядка следования имён классов, регистра символов и двойных/одинарных кавычек. Как лучше проверить? Вывести на экран при помощи echo (имя переменной); или есть другие способы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 22:59 |
|
||
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
bad_tulaКак лучше проверить? Вывести на экран при помощи echo (имя переменной); или есть другие способы?На экран обычно проще и быстрее. В ряде случаев удобнее выводить в файл (например, при отладке серверных обработчиков ajax-запросов или при формировании отдающихся на лету файлов). По ситуации, в общем. Использовать echo можно, но безоговорочно уповать на неё не стоит. В некоторых случаях echo может ввести в заблуждение. Для echo нет разницы, выводится ли пустая строка или булево значение - и в том и в другом случае ничего не напечатает и, таким образом, определить значение переменной не представляется возможным. Да и с массивами и объектами целиком она не работает. По мне так удобнее var_dump() или print_r(). Ещё можно использовать die() - печатает сообщение аналогично echo и завершает работу скрипта. Таким образом, искомое будет в конце вывода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2015, 02:11 |
|
||
|
Данные из HTML с помощью PHP
|
|||
|---|---|---|---|
|
#18+
vklebad_tulaКак лучше проверить? Вывести на экран при помощи echo (имя переменной); или есть другие способы?На экран обычно проще и быстрее. В ряде случаев удобнее выводить в файл (например, при отладке серверных обработчиков ajax-запросов или при формировании отдающихся на лету файлов). По ситуации, в общем. Использовать echo можно, но безоговорочно уповать на неё не стоит. В некоторых случаях echo может ввести в заблуждение. Для echo нет разницы, выводится ли пустая строка или булево значение - и в том и в другом случае ничего не напечатает и, таким образом, определить значение переменной не представляется возможным. Да и с массивами и объектами целиком она не работает. По мне так удобнее var_dump() или print_r(). Ещё можно использовать die() - печатает сообщение аналогично echo и завершает работу скрипта. Таким образом, искомое будет в конце вывода. Разобрался. Выводил после каждой команды echo(); не работала вот это: $content = file_get_contents($url); - причиной были настройки на хостинге настройки PHP allow_url_fopen включил и всё заработало. Оказывается для того что бы понять что то и решить задачу всего то надо - с кем то поговорить :) Спасибо.... Тему можно закрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2015, 10:02 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=39109889&tid=1461380]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 360ms |

| 0 / 0 |
