При решении задач в разных проектах парой сталкиваешься с необходимостью спарсить какую-нибудь информацию с чужого сайта. Необязательно это может быть воровство контента, это могут быть например курсы валют у вашего партнера которые он не отдает в API а вы хотите просто автоматизировать процесс внесения этой информации.
Писать много разных функций или регулярок муторно и не продуктивно. На помощь нам приходит phpQuery. phpQuery – это php вариант известного JavaScript фраемворка – jQuery.
Загрузить phpQuery можно со страницы проекта «code.google.com/p/phpquery» ( или phpQuery-0.9.5.386 ).
Официальный блог проекта «phpquery-library.blogspot.ru»
Пример:
require ('library/phpQuery.php'); $res = file_get_contents('http://%username%.habrahabr.ru/blog/'); $document = phpQuery::newDocument($res); $hentry = $document->find('div.hentry'); foreach ($hentry as $el) { $pq = pq($el); # Это аналог $ в jQuery # меняем атрибуты найденого элемента $pq->find('h2.entry-title > a.blog')->attr('href','http://%username%.habrahabr.ru/blog/')->html('%username%'); $pq->find('div.entry-info')->remove();#удаляем ненужный эл-нт $tags = $pq->find('ul.tags > li > a'); $tags->append(': ')->prepend(' :'); # добавляем : по бокам # добавляем контент в начало найденого элемента $pq->find('div.content')->prepend('<br />')->prepend($tags); } echo $hentry;