Помощник
|
Помогите с simple HTML DOM - парсинг таблицы (не всей). |
scanread
|
Сообщение
#1
|
||
|
|
||
|
|||
elche |
15.11.2012, 1:42;
Ответить: elche
Сообщение
#2
|
|
Как прописать правильный линк в выше примере вы же пишите: <a href="http://www.site.ru/ , т.е. указываете точно сайт-источник (ссылки похоже относительные), так и тут нужно его указывать, например так (для первого варината) $es=str_replace('href="','href="http://site.ru/',$es); выриант не шибко хорош, но на безърыбье и рак рыба (если в строке более 1 ссылки то менять будет у всех). как-то упростить парсинг таблицы проблема в том, что не знаете сколько будет строк? если да, тогда так: $c=6; $alltext=''; while (true) { $str=$html->find('table.wb td',$c); if (!empty($str)) { //тут кстати можно и ссылки поменять: $str=str_replace('href="','href="http://site.ru/',$str); $alltext.= $str;} else { break; } } echo $alltext; хотя я может все не так понял Сообщение отредактировал elche - 15.11.2012, 1:43 -------------------- |
|
|
scanread
|
Сообщение
#3
|
||
|
elche, по такому запросу оно 5 минут обрабатывает и времени на выполнения не хватает.
В общем, таблица: Вот код первой строки, дальше остальные по аналогии такие же: Синим выделена строка, в которой необходимо делать замену ее, к сайту добавить окончание, чтобы можно было перейти по ней. Как Вы к примеру писали: $str=str_replace('href="','href="http://site.ru/',$str);
-------------------- |
||
|
|||
elche |
15.11.2012, 12:17;
Ответить: elche
Сообщение
#4
|
|
5 минут обрабатывает { //тут кстати можно и ссылки поменять: $str=str_replace('href="','href="http://site.ru/',$str); $alltext.= $str; $c++; } да вот $c++ забыл. поставте, попробуйте -------------------- |
|
|
scanread
|
Сообщение
#5
|
|
elche, спс, выводит, только
$str=str_replace('href="','href="http://site.ru/',$str); не работает, и выводит не таблицей, а все в одну строку....
-------------------- |
|
|
elche |
15.11.2012, 21:39;
Ответить: elche
Сообщение
#6
|
|
выводит не таблицей а нужно таблицей? я просто не помню что бы уточняли на этот счет. тут нужно смотреть что получается на выходе. Да и сами запросы к документу нужно менять, слишком не правильные они по поводу не работает $str=str_replace('href="','href="http://site.ru/',$str);, вы раскомментировали все да ? напишите кусок получившейся строки. -------------------- |
|
|
scanread
|
Сообщение
#7
|
|
|
elche, отключил я все же ДОМ, пошел через выражения. Сделал так:
preg_match("#<table class=wb width='80%' cellpadding=3 align=center><tr><td class=wbwhite width=30>(.*?)</table></td></tr></table>#is", $file, $matches); //вывод таблицы var_dump($matches[0]); получил всю таблицу. Итог: 5 столбцов и 101 строка. Теперь надо как-то ее чтобы было: array(4) { [0]=> string(159) "С какой бы стороны света не шел усталый путник, каждый, оказавшись впервые в Цитадели Ордена Равновесия, невольно замирает на пороге. Великим искусством" [1]=> string(31) "С какой бы стороны света не шел" [2]=> string(110) " усталый путник, каждый, оказавшись впервые в Цитадели Ордена Равновесия, невольно замирает на пороге. " [3]=> string(18) "Великим искусством" } Т.е., разбить на строки. Но надо не 5 столбцов, а 5 столбец еще выкинуть. И вот дальше ламаю голову, как через регулярку это сделать. Что не соображается пока ничего
Сообщение отредактировал scanread - 15.11.2012, 23:18 -------------------- |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Трафик в Телеграм (рассылка, инвайт, парсинг) | 9 | gelt | 2857 | 8.4.2024, 15:28 автор: gelt |
|
Вёрстка HTML-писем | 30 | Vampler | 29404 | 27.3.2024, 12:41 автор: Vampler |
|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 730 | 21.2.2024, 23:42 автор: Mixatraider |
|
Разработка/доработка сайтов Wordpress, HTML/CSS/JS Вёрстка, перенос на WP, правки |
9 | malamut | 3488 | 25.1.2024, 14:36 автор: malamut |
|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3421 | 19.12.2023, 18:55 автор: CULA |
Текстовая версия | Сейчас: 25.4.2024, 3:55 |