Berlioz HTML Selector
Der Berlioz HTML Selector ist eine PHP -Bibliothek, in der Abfragen zu HTML -Dateien mit CSS -Selektoren wie JQuery auf DOM durchgeführt werden.
Installation
Komponist
Sie können Berlioz HTML -Selektor mit Komponisten installieren, dies ist die empfohlene Installation.
$ composer require berlioz/html-selector
Abhängigkeiten
- Php ^8.0
- PHP -Bibliotheken:
- Dom
- libxml
- Mbstring
- simplexml
Verwendung
Laden Sie HTML
Sie können einfach eine HTML -Zeichenfolge oder -datei mit der statischen Funktion HtmlSelector::query() laden. Verwenden Sie für Dateien das zweite Parameter contentsIsFile der Methode.
$ htmlSelector = new Berlioz HtmlSelector HtmlSelector ();
$ query = $ htmlSelector -> query ( ' <html><body>...</body></html> ' );
$ query = $ htmlSelector -> query ( ' path-of-my-file/file.html ' , contentsIsFile: true );
$ query = $ htmlSelector -> query ( new SimpleXMLElement ( /*...*/ ));
Laden Sie von ResponseInterface
HtmlSelector::queryFromResponse() Erlauben Sie das Laden von HTML einer Antwortkörper.
$ htmlSelector = new Berlioz HtmlSelector HtmlSelector ();
/** @var PsrHttpMessageResponseInterface $response */
$ query = $ htmlSelector -> queryFromResponse ( $ response );
Eine Frage machen
Es ist sehr einfach, eine HTML -Zeichenfolge mit einem Selektor wie JQuery abzufragen.
/** @var BerliozHtmlSelectorQueryQuery $query */
$ query = $ query -> find ( ' body > .wrapper h2 ' );
$ query = $ query -> filter ( ' :first ' );
Selektoren
CSS einfache Selektoren
- Typ : Auswahl der Elemente mit ihrem Typ.
- #ID : Auswahl eines Elements mit seiner ID.
- .CLASS : Auswahl von Elementen mit ihrer Klasse.
- Attribute Auswahl.
- [Attribut] : mit Attribut 'Attribut'.
- [Attribut = foo] : Wert des Attributs entspricht 'foo'.
- [Attribut^= foo] : Der Wert des Attributs beginnt mit 'Foo'.
- [Attribut $ = foo] : Der Wert des Attributs endet mit 'Foo'.
- [Attribut = foo] *: Der Wert des Attributs enthält 'Foo'.
- [Attribut! = Foo] : Wert des Attributs anders von 'foo'.
- [Attribut ~ = foo] : Der Wert des Attributs enthält das Wort 'foo'.
- [Attribut | = foo] : Der Wert des Attributs enthält Präfix 'foo'.
CSS -Aszendanten, Nachkommen, Vielfache
- Selektorauswahl oder Selektor >> Selector : Alle Nachkommenswählten.
- Selector > Selector : Direkter Nachkommenswähler (nur Kinder).
- Selector ~ Selector : Geschwisterauswahl.
- Selektor , Selektor : Mehrere Selektoren.
CSS -Pseudoklassen
- : Jeder (Selektor, Selektor) : Nur Elemente, die in Argumenten angegeben sind.
- : Any-Link : Nur Elemente vom Typ
<a> , <area> und <link> mit [href] Attribut. - : leer : Nur Elemente ohne Kind und ohne Text (außer Splungen).
- : Checked : Nur Elemente mit Attribut
[checked] . - : Dir : Nur Elemente mit dem gerichteten Text angegeben (Standard: LTR).
- : Deaktiviert : Nur Elemente vom Typ
<button> , <input> , <optgroup> , <select> oder <textarea> mit [disabled] Attribut. - : leer : nur Elemente ohne Kind.
- : Aktiviert : Nur Elemente vom Typ
<button> , <input> , <optgroup> , <option> , <select> , <textarea> , <menuitem> oder <fieldset> ohne [disabled] Attribut. - : Erstens : Nur erstes Ergebnis einer vollständigen Auswahl.
- : Erstkind : Nur Erste Kinder in ihren Eltern.
- : ERSTE VON OF-Typ : Nur Erste geben ihre Eltern ein.
- : Has (Selektor, Selektor) : Nur Elemente, die untergeordneter Selektor gültig sind.
- : Lang (x) : Nur Elemente mit Attribut
[lang] die von oder gleichermaßen dem angegebenen Wert vorangestellt sind. - : Last-Kind : Den Eltern nur in ihren Eltern dauert.
- : Last-of-Type : Den Typ typen nur in ihren Eltern.
- : Nicht (Selektor, Selektor) : Filter 'nicht'.
- : n-Child () : n Elemente im Selektorergebnis.
- : nth-last-child () : n Elemente im Selektorergebnis, starten Sie am Ende der Liste.
- : n-of-type () : n Elemente des angegebenen Typs im Selektorergebnis.
- : n-ten Last des Typs () : n Elemente des bestimmten Typs im Selektorergebnis, starten Sie am Ende der Liste.
- : Nur Kind : Nur Elemente, die nur ein Kind im Elternteil sind.
- : Nur vom Typ : Nur Elemente, die nur ein Kind im Elternteil tippen.
- : optional () : nur ein Eingabeelemente ohne
[required] Attribut. - : schreibgeschützt () : Nur Elemente, die der Benutzer nicht bearbeiten kann.
- : Read-Write () : Nur Elemente mit bearbeitbarem Eigentum.
- : erforderlich () : Nur Elemente mit
[required] Attribut. - : root () : Wurzelelement holen.
Zusätzliche CSS -Pseudoklassen (nicht in CSS -Spezifikationen) aus der Jquery Library
- : Schaltfläche : Nur Elemente vom Typ
<button> ohne Attributwert [type=submit] oder <input type="button"> . - : Kontrollkästchen : Nur Elemente mit Attribut
[type=checkbox] . - : enthält (x) : nur Elemente, die Text enthalten.
- : EQ (x) : Nur mit Index angegeben (Index starten bis 0).
- : Sogar : Nur sogar zur Auswahl.
- : Datei : Nur Elemente mit Attribut
[type=file] . - : gt (x) : Ergebnis nur mit einem Index, der größer als der Index gegeben ist (Index starten bis 0).
- : gte : resultieren nur mit einem Index, das größer oder gleich dem angegebenen Index ist (Indexstart bis 0).
- : Header : Nur Elemente der Überschrift, wie
<h1> , <h2> ... - : Bild : Nur Elemente mit Attribut
[type=image] . - : Eingabe : Nur Elemente vom Typ
<input> , <textarea> , <select> oder <button> . - : Last : Nur das letzte Ergebnis einer vollständigen Auswahl.
- : LT : Ergebnis nur mit Indexleder als Index angegeben (Index starten bis 0).
- : LTE : Ergebnis nur mit Indexleder als oder gleich dem angegebenen Index (Indexstart auf 0).
- : ungerade : Nur ungerade Ergebnisse bei der Auswahl.
- : Elternteil : Nur Elemente mit einem Kind oder mehr.
- : Passwort : Nur Elemente mit Attribut
[type=password] . - : Radio : Nur Elemente mit Attribut
[type=radio] . - : Zurücksetzen : Nur Elemente mit Attribut
[type=reset] . - : Ausgewählt : Nur Elemente vom Typ
<option> mit Attribut [selected] . - : Senden : Nur Elemente vom Typ
<button> oder <input> mit Attribut [type=submit] . - : text : Nur Elemente vom Typ
<input> mit Attribut [type=text] oder ohne [type] Attribut.
Zusätzliche CSS -Pseudoklassen (nicht in CSS -Spezifikationen)
- : count (x) : Nur Elemente, die x Kinder im Elternteil sind, verwendet in : Has (Selektor-) Pseudoklasse.
Vollständiges Beispiel für Selektoren
select > option:selected
div#myId.class1.class2[name1=value1][name2=value2]:even:first
Funktionen
Standardfunktionen
Einige Standardfunktionen sind im Abfrageobjekt verfügbar, um mit den Ergebnissen zu interagieren. Die Funktionen sollten das gleiche Ergebnis wie ihre Kollegen auf JQuery haben.
- Attr (Name) : Attributwert abrufen
- Attr (Name, Wert) : Setzen Sie den Attributwert
- Kinder () : Holen Sie sich Kinder von Elementen im Ergebnis.
- count () : Zählen Sie die Anzahl der Elemente im Abfrageergebnis.
- Data (nameOfData) : Datenwert abrufen (Name ist mit der Camelcase-Syntax ohne das Präfix von 'data').
- Filter (Selektor) : Filterelemente im Ergebnis.
- Finden Sie (Selektor) : Finden Sie Selektor in Elementen im Ergebnis.
- Get (i) : DOM -Element in das Ergebnis bekommen.
- Hasclass (class_name) : Wissen, ob ein Element in Ergebnisklassen Klassen gegeben hat.
- html () : Holen Sie sich HTML des ersten Elements im Ergebnis.
- Index (Selektor) : Erhalten Sie den Index des angegebenen Selektors in Ergebniselementen.
- IS (Selektor) : Wissen, ob Selektor das mindestens ein Element im Ergebnis gültig ist.
- ISSET (I) : Return Boolean, um zu wissen, ob ein Elementschlüssel im Ergebnis vorhanden ist.
- Weiter (Selektor) : Holen Sie sich das nächste Element nach jedem Element im Ergebnis.
- Weiter (Selektor) : Holen Sie sich alle nächsten Elemente nach jedem Element in Ergebnis.
- Nicht (Selektor) : Filterelemente im Ergebnis.
- Parent () : Direkt übergeordnete Eltern des aktuellen Ergebniss der Auswahl erhalten.
- Eltern (Selektor) : Holen Sie sich alle Eltern des aktuellen Ergebniss der Auswahl.
- PREV (Selektor) : Holen Sie sich nach jedem Element in Ergebnis.
- Vorab (Selektor) : Holen Sie sich alle vorherrschenden Elemente nach jedem Element in Ergebnis.
- Prop (Name) : Get Property Booleanwert eines Attributs, das zum Beispiel für
disabled Attribut verwendet wird. - Prop (Name, Wert) : Setzen Sie den Eigentum des Booleschen Wertes eines Attributs, das beispielsweise für
disabled Attribut verwendet wird. - serialize () : serialisieren Eingabewerte einer Form. Eine Zeichenfolge zurückgeben.
- serializearray () : serialisieren Eingabewerte einer Form. Gibt ein Array zurück.
- text () : Erhalten Sie den Text jedes Elements verkettet.
- Val () : Wert eines Formularelements.