Comments 9
Было бы хорошо, если бы вы для примера что-нибудь полезное распарсили, что бы пример хоть кому-то но пригодился ;)
А также добавили бы пояснений по структуре MODx API.
А также добавили бы пояснений по структуре MODx API.
0
Что например? С удовольствием добавлю в статью, а про MODx API тут используется всего 1 метод и 1 подход с передачей данных в сниппет, причем про метод написано в документации.
Так уж получилось, что задача очень простая, но даже такой не рассматривается на хабре (да и вообще нигде в МОДх сообществах). По своему опыту могу сказать, что мне подобные записи помогли бы в начале пути очень сильно.
Так уж получилось, что задача очень простая, но даже такой не рассматривается на хабре (да и вообще нигде в МОДх сообществах). По своему опыту могу сказать, что мне подобные записи помогли бы в начале пути очень сильно.
0
Поправил под себя, если в ячейке встречался тег br то он схлопывался, ну и трим функцию добавил — малоли что там в табличках нагородили
foreach ($array as &$value) {
//(быдлокод в действии)
$value = str_replace('<br />', ' ', $value);
$value = str_replace('</td><td', '</td>'.$separator.'<td', $value); // ... сделал финт ушами :)
$value = trim(strip_tags($value)); //регулярками убирать тэги таблицы было лениво, проще разделить ячейки служебным набором символов и..
$table[] = explode($separator, $value); //... разбить оставшееся от strip_tags по этому разделителю
}
+1
Всю жизнь для выдирания пользовался domxml, имхо, без таких извратов(а если сложные вложения и т.п.), и в 90% правильно обрабатывает неправильный html.
$array = explode('', $matches[1]); А ЕСЛИ ЗАБЫЛИ TR ЗАКРЫТЬ???
Курл работает через пятую точку, нет обработки 404 и прочих ошибок, а хорошо бы логировать ошибки операций.
Вы уж извините, статья вобще никакой практической ценности не несет, базовые навыки работы с курлом и регулярками и куча лишних переменных.
Для нормальной работы надо:
1) Вынести в отдельные классы работу с url и парсер
2) Сделать более гибкую возможность настройки парсинга
3) Учесть, что код может быть невалидным
P.S. я повторюсь -домом парсинг делается на порядок легче.
$array = explode('', $matches[1]); А ЕСЛИ ЗАБЫЛИ TR ЗАКРЫТЬ???
Курл работает через пятую точку, нет обработки 404 и прочих ошибок, а хорошо бы логировать ошибки операций.
Вы уж извините, статья вобще никакой практической ценности не несет, базовые навыки работы с курлом и регулярками и куча лишних переменных.
Для нормальной работы надо:
1) Вынести в отдельные классы работу с url и парсер
2) Сделать более гибкую возможность настройки парсинга
3) Учесть, что код может быть невалидным
P.S. я повторюсь -домом парсинг делается на порядок легче.
0
я придерживаюсь пути «наименьшего сопротивления» и сторонник теории, что для выполнения операции 2+2 не надо писать сложный класс математических операций :)
Так или иначе, любой парсинг страницы достаточно уникален для каждой конкретной задачи, он просто не может быть шаблонным в принципе — даже если разбирать страницу форума vbulletin для разных стилей может быть разное html-окружение поста. Поэтому в процессе разработки проводится «пилотный» режим настройки.
Так или иначе, любой парсинг страницы достаточно уникален для каждой конкретной задачи, он просто не может быть шаблонным в принципе — даже если разбирать страницу форума vbulletin для разных стилей может быть разное html-окружение поста. Поэтому в процессе разработки проводится «пилотный» режим настройки.
-1
Такие пути наименьшего сопротивления называются Индийский код. У меня есть наработка, кторая достаточно быстро настраивается под любой сайт и парсит ну оочень много страниц. Только я вам ее не дам, потому что у вас документов нет т.к. такая корова нужна самому т.к. не хочу палить некоторые идеи :)
И снова повторюсь: xpatch намного проще пишется чем регулярки.
И снова повторюсь: xpatch намного проще пишется чем регулярки.
0
Вы плохо читаете документацию по курлу, есть ф-я curl_getinfo которая возращает http_code и массу другой полезной инфы, а дальше обрабатывайте как хочете.
0
Sign up to leave a comment.
MODx и парсер таблички с чужого сайта