Download the PHP package edwinhuish/domquery without Composer
On this page you can find all versions of the php package edwinhuish/domquery. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package domquery
DomQuery
中文说明
DomQuery is a PHP library that allows you to easily traverse and modify the DOM (HTML/XML). As a library it aims to provide 'jQuery like' access to the PHP DOMDocument class.
Installation
Install the latest version with
Basic Usage
Read attributes and properties:
Traversing nodes (result set):
Factory method (create instance alternative):
Jquery methods available
Traversing > Tree Traversal
.find( selector ).children( [selector] ).parent( [selector] ).closest( [selector] ).next( [selector] ).prev( [selector] ).nextAll( [selector] ).prevAll( [selector] ).siblings( [selector] )
Traversing > Miscellaneous Traversing
.contents()get children including text nodes-
.add( selector, [context] )new result with added elements that match selectorTraversing > Filtering
.is( selector ).filter ( selector )reduce to those that match the selector.not( selector )remove elements from the set of matched elements.has( selector )reduce to those that have a descendant that matches the selector.first( [selector] ).last( [selector] ).slice( [offset] [, length])like array_slice in php, not js/jquery.eq( index ).map( callable(elm,i) )
* [selector] can be a css selector or an instance of DomQuery|DOMNodeList|DOMNode
Manipulation > DOM Insertion & removal
.text( [text] ).html( [html_string] ).append( [content],... ).prepend( [content],... ).after( [content],... ).before( [content],... ).appendTo( [target] ).prependTo( [target] ).replaceWith( [content] ).wrap( [content] ).wrapAll( [content] ).wrapInner( [content] ).remove( [selector] ).unwrap().first().last().gt( int $index ).lt( int $index )
* [content] can be html or an instance of DomQuery|DOMNodeList|DOMNode
Attributes | Manipulation
.attr( name [, val] ).prop( name [, val] ).css( name [, val] ).removeAttr( name ).addClass( name ).hasClass( name ).toggleClass ( name ).removeClass( [name] )
* addClass, removeClass, toggleClass and removeAttr also accepts an array or space-separated names
Miscellaneous > DOM Element Methods | Traversing | Storage
.get( index ).each ( callable(elm,i) ).data ( key [, val] ).removeData ( [name] ).index ( [selector] ).toArray().clone()
Supported selectors
.class#fooparent > childfoo, barmultiple selectorsprev + nextelements matching "next" that are immediately preceded by a sibling "prev"prev ~ siblingselements matching "siblings" that are preceded by "prev"*all selector[name="foo"]attribute value equal foo[name*="foo"]attribute value contains foo[name~="foo"]attribute value contains word foo[name^="foo"]attribute value starts with foo[name$="foo"]attribute value ends with foo[name|="foo"]attribute value equal to foo, or starting foo followed by a hyphen (-)
Pseudo selectors
:empty:even:odd:first-child:last-child:only-child:parentelements that have at least one child node:first:last:headerselects h1, h2, h3 etc.:not(foo)elements that do not match selector foo:has(foo)elements containing at least one element that matches foo selector:contains(foo)elements that contain text foo:rootelement that is the root of the document:nth-child(n):nth-child(even):nth-child(odd):nth-child(3n+8):nth-child(2n+1):nth-child(n+4)same as:gt(2):nth-child(-n+4)same as:lt(4):nth-child(3):nth-child(-2):nth-child(4n):eq(0):eq(-1):lt(3):gt(2)
Other (non jQuery) methods
findOrFail( selector )find descendants of each element in the current set of matched elements, or throw an exceptionloadContent(content, encoding='UTF-8')load html/xml contentxpath(xpath_query)Use xpath to find descendants of each element in the current set of matched elementsgetOuterHtml()get resulting html describing all the elements (same as(string) $dom, or$elm->prop('outerHTML'))getRoot()get the root node
XML support
- XML content will automatically be loaded 'as XML' if a XML declaration is found (property
xml_modewill be set to true) - This in turn will also make saving (rendering) happen 'as XML'. You can set property
xml_modeto false to prevent this. - To prevent content with a XML declaration loading 'as XML' you can set property
xml_modeto false and then use theloadContent($content)method. - Namespaces are automatically registered (no need to do it manually)
Escaping meta chars in selector to find elements with namespace:
About
Requirements
- Works with PHP 7.0 or above
- Requires libxml PHP extension (enabled by default)
Fork from
All versions of domquery with dependencies
ext-xml Version *
ext-json Version *
ext-dom Version *
ext-libxml Version *
tightenco/collect Version ^5
edwinhuish/css-to-xpath Version ^1.0