Есть ли в PHP эквивалентный класс JQuery DOM-манипулятора / CSS-селектора?

Я знаю, что я могу использовать DOMDocument и DOMXPath для управления XML-файлами. Но мне очень нравится JQuery, и было бы здорово, если бы что-то похожее на JQuery в мире PHP, которое я мог бы использовать для манипулирования DOM с параллельной стороны.

ПРИМЕЧАНИЕ. Меня интересует только то, как JQuery выбирает и манипулирует DOM, а не все остальные части JQuery (я думаю, вы можете сказать только части Pop и Sizzle ).


Обновить:
Похоже, что есть эквивалент для функций селектора, но, насколько я понимаю, я должен придерживаться DOMDocument.

Ну, исключая все специфические вещи JavaScript, которые вы оставили с помощью механизма селектора CSS:

http://framework.zend.com/manual/en/zend.dom.query.html

Наслаждаться 🙂

Вы можете использовать phpQuery

Он описывает себя следующим образом: phpQuery – это PHP5-серверный, цельный, основанный на CSS3 API-интерфейсы Document Object Model (DOM), основанный на JavaScript-библиотеке jQuery.

Да, HtmlPageDom написан точно для того, что вы просите.

@retro: то, что он просит, – это библиотека, подобная sizzle, которая работает с использованием PHP как языка вместо javascript, то, что вы сказали о «без изменений, чтобы написать это», неверно, это просто код, вы можете написать его столько, сколько вы хотеть.

однако проблема, которую я считаю, заключается в том, что javascript, запущенный внутри браузера, дает вам +1 вверх по доступу к DOM-системе, которая может помочь вам в создании большого количества узлов dom / html автоматически, без необходимости делать их самостоятельно.

в php, DOM просто больно, jquery счастливо скрывает это, и поскольку javascript работает иначе, чем PHP, он может сделать это без особых усилий, однако PHP не имеет доступа к DOM браузера и имеет другой способ работы, это намного больше болезненный.

это не значит, что это невозможно, потому что это просто, что это не так просто, а иногда бывает иначе, когда нет ясной причины, почему я полагаю, что PHP DOM внутренне использует libXML или что-то похожее и предоставляет слишком большую часть этой библиотеки внутри, поэтому PHP забивается семантикой библиотеки C.

Я думаю, вы должны посмотреть на phpQuery (https://github.com/TobiaszCudnik/phpquery) или даже лучше и в активной разработке QueryPath (http://querypath.org).

однако, не ожидайте, что они будут такими же легкими, как библиотека jquery javascript, потому что это не так, к сожалению …..