[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PhPQuery
wisilis
Доброе время суток!
Пожалуйста, помогите с PhPQuery.
$data = file_get_contents("*****".$i);
$html = phpQuery::newDocument($data);
foreach ($html->find('table')->find('tr') as $el)
{
$res = $el->find('td');
}

Как нужно написать, чтобы искались td с id, в которых есть слово price, к примеру?
alexbel2404
Видимо так
$res = $el->find('td[id*="price"]');

https://code.google.com/p/phpquery/wiki/Sel...tribute_Filters
wisilis
Спасибо, с этим разобрался. Однако, встала следующая проблема.
 $data = file_get_contents("***".$i);
$html = phpQuery::newDocument($data);
foreach ($html->find('table')->find('tr') as $el)
{
$res = pq($el)->find('td[id*="price"]');
echo iconv("windows-1251","UTF-8",$res);
$res2 = pq($el)->find('td[id*="contacts"]');
echo iconv("windows-1251","UTF-8",$res2);
$res3 = pq($el)->find('td[id*="comment"]');
echo iconv("windows-1251","UTF-8",$res3);

}

Вот такой код выдает в результате нужные данные, т.е. парсинг проходит успешно. Однако, на каждой странице сначала вываливаются все цены, потом все контакты, потом комменты. Никак не получается сделать, чтобы цены, контакты и комменты извлекались в пределах одного tr. Подскажите каким образом это организовать?
Игорь_Vasinsky
break

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
wisilis
поясните пожалуйста, если можно уточните логику словесно
Игорь_Vasinsky
 $data = file_get_contents("***".$i);
$html = phpQuery::newDocument($data);
foreach ($html->find('table')->find('tr') as $el)
{
$res = pq($el)->find('td[id*="price"]');
echo iconv("windows-1251","UTF-8",$res);
$res2 = pq($el)->find('td[id*="contacts"]');
echo iconv("windows-1251","UTF-8",$res2);
$res3 = pq($el)->find('td[id*="comment"]');
echo iconv("windows-1251","UTF-8",$res3);
break;
}


логика должна быть логичной - на то она и логика.

а если вы будите догадками кодить - всячески избегая мануала и гугла - много вы не накодите

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bposter
Добрый день, помогите домучить

require('phpQuery.php'); 


$a = '<td class="b-cy_name"><a href="http://sait1.ru/">Первая табличка</a></td>
<td>4302</td>

<td class="b-cy_name"><a href="http://sait2.ru/">Вторая табличка 2013 по 2055</a></td>
<td>4300</td>
'
;



$document = phpQuery::newDocument($a);

$hentry = $document->find('a[href*="sait2.ru"]');
echo $hentry;

Нужна цифра 4300, данным кодом добрался до содержимого тега td где ссылка sait2.ru Как прописать что нужно содержимое следующего тега td после указанной ссылки ?

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Игорь_Vasinsky
вообще есть и оф мануалы и много инфы в открытом доступе
http://habrahabr.ru/post/69149/

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bposter
На регулярке сделали не без помощи добрых людей. Может кому пригодится:
'/<a\s+href=\"http:\/\/'.$url.'\/\".*?<td>\s*(\d+)\s*<\/td>/'


_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.