Skip to content
forked from tburry/pquery

A jQuery like html dom parser written php.

License

Notifications You must be signed in to change notification settings

bigtreecms/pquery

 
 

Repository files navigation

pQuery

This fork of pQuery is intended for use in the BigTree CMS project. The only change at present is removing short attributes (name="name" shortened to name) as they break Vue template parsing.

pQuery is a jQuery like html dom parser written in php. It is a fork of the ganon dom parser.

Basic usage

To get started using pQuery do the following.

  1. Require the pQuery library into your project using composer.
  2. Parse a snippet of html using pQuery::parseStr() or pQuery::parseFile() to return a document object model (DOM).
  3. Run jQuery like functions on the DOM.

Example

The following example parses an html string and does some manipulation on it.

$html = '<div class="container">
  <div class="inner verb">Hello</div>
  <div class="inner adj">Cruel</div>
  <div class="inner obj">World</div>
</div>';

$dom = pQuery::parseStr($html);

$dom->query('.inner')
    ->tagName('span');

$dom->query('.adj')
    ->html('Beautiful')
    ->tagName('i');

echo $dom->html();

Differences between pQuery and ganon

pQuery is a fork of the ganon php processor. Most of the functionality is identical to ganon with the following exceptions.

  • pQuery is a composer package.
  • pQuery renames ganon's classes and puts them into a namespace.
  • pQuery is used only with objects rather than functions so that it can be autoloaded.
  • pQuery Adds the IQuery interface and the pQuery object that define the jQuery-like interface for querying the dom.
  • pQuery implements more of jQuery's methods. See the IQuery interface for a list of methods.
  • pQuery supports adding tags to the dom using the <div class="something"></div> notation rather than just div.

About

A jQuery like html dom parser written php.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.8%
  • HTML 1.2%