школа английского ульяновск

школа английского ульяновск

уроки макияжа глаз

Архив за месяц: Сентябрь 2012 Парсим файлы используя phpQuery (продолжение) Опубликовано 25.09.2012 Автор admin Данная статья является продолжением статьи Парсим файлы используя phpQuery . Это была совсем простая статья, поэтому я решил представить слегка расширенный вариант. Ниже представлена полностью рабочая функция парсинга сайта merlion.ru. include(`phpQuery/phpQuery.php`); function get_good_property($aproduct_id) {   $ffilename = "http://www.merlion.ru/goods/catalog/product/".$aproduct_id."/";   phpQuery::newDocumentFileHTML($ffilename);   $fresult = Array(); // Для каждого "tr" во второй таблице "table" с классом "text" заполняем массив $fresult   foreach (pq(`table.text:eq(1)`)->find(`tr`) as $value){   $fres_descr = mb_convert_encoding(pq($value)->find(`div.prop_descr`)->remove()->html(), `UTF-8`, `CP1251`);   $fres_name = trim(pq($value)->find(`td:first`)->text()); $fres_value = trim(pq($value)->find(`td:last`)->text());   $fresult[] = Array ("NAME" => $fres_name, "DESCRIPTION" => $fres_descr, "VALUE" => $fres_value); } // Убиваем использованные переменные     unset($fres_name);     unset($fres_value);     unset($fres_descr);     unset($ffilename);     return $fresult;   } // вызов функции с параметром $farr = get_good_property("630661"); Функция pq(‘table.text:eq(1)’)->find(‘tr’) возвращает массив строк «tr» во второй таблице «table» с классом «text». Обратите внимание на селектор «:eq(1)» Далее для каждого элемента этого массива мы производим дальнейший разбор каждой строки:Функция pq($value)->find(‘div.prop_descr’)->remove()->html() делает 2 вещи: Возвращает из строки «div» с классом «prop_descr».   Из $value удаляет вышеописанный «div»  Функция trim(pq($value)->find(‘td:first’)->text()) возвращает первое вхождение элемента «td», обратите внимание на селектор «:first» . Функция trim(pq($value)->find(‘td:last’)->text()) возвращает последнее вхождение элемента «td», обратите внимание на селектор «:last» .















%