Heim  >  Artikel  >  php教程  >  QueryPath jQuery in PHP

QueryPath jQuery in PHP

黄舟
黄舟Original
2016-12-14 15:12:361079Durchsuche

Die QueryPath (QP)-Bibliothek implementiert ähnliche Effekte wie jQuery in PHP. Sie kann auch zur einfachen Verarbeitung von XML-HTML verwendet werden ... Sie ist so leistungsstark! ! !

Ein QueryPath-Tutorial (eine einfache Erklärung)
QueryPath nutzt Methodenverkettung, um eine prägnante Suite von Tools zum Bearbeiten eines DOM bereitzustellen
Das Grundprinzip der Methodenverkettung besteht darin, dass jede Methode eine zurückgibt Objekt, auf dem zusätzliche Methoden aufgerufen werden können.
Sehen wir uns zur Veranschaulichung ein Beispiel an:
$qp = qp(QueryPath::HTML_STUB); ein neues QueryPath-Objekt. (Erstelle ein QP-Objekt)
$qp2 = $qp->find('body'); // Finde das Body-Tag. (Finde das „Body“-Tag)
// Jetzt Der überraschende Teil: (Bitte sehen Sie unten, was Sie überrascht)
if ($qp === $qp2) {
// Dies wird immer gedruckt (Es wird immer so ausgegeben)
print "MATCH";
}
Warum entspricht $qp immer $qp2? hat einen sehr praktischen Grundgedanken. Mit dieser Art von Schnittstelle können wir viele Methoden miteinander verketten:
(Sie können Methoden wie bei der Verwendung von jQuery verketten)
qp(QueryPath::HTML_STUB)->find(' body ')->text('Hello World')->writeHTML();
In diesem Beispiel haben wir vier Methodenaufrufe:
qp(QueryPath::HTML_STUB): Erstellen Sie ein neues QueryPath-Objekt und stellen Sie es bereit es mit einem Stub eines HTML-Dokuments. Dies gibt das QueryPath-Objekt zurück und sucht nach einem Element mit dem Namen „body“. ; Teil des HTML-Dokuments, wenn es das Body-Element findet, behält es einen internen Zeiger auf dieses Element bei und gibt das QueryPath-Objekt zurück (das jetzt das Body-Element umschließt). „Hello World“): Diese Funktion nimmt die aktuellen Elemente, die von QueryPath umschlossen sind, und fügt den Text „Hello World“ hinzu. Wie Sie wahrscheinlich erraten haben, gibt sie auch ein QueryPath-Objekt zurück.
writeHTML(): Die Funktion writeHTML() wird verwendet, um den HTML-Code an den Client zurückzusenden. Okay, Sie haben es erraten >Am Ende der obigen Kette hätten wir also ein Dokument erstellt, das etwa so aussieht:

Kopieren Sie den Code wie folgt:
org/1999/xhtml"> >Untitled /head>
Hello World

Der größte Teil dieses HTML stammt aus dem QueryPath::HTML_STUB Text innerhalb der -Tags
Nicht alle QueryPath-Funktionen müssen andere Daten zurückgeben.
Diese Schauen wir uns nun ein größeres Beispiel an, das mehr von der QueryPath-API ausübt.
Ein längeres Beispiel.
In diesem Beispiel veranschaulichen wir Verwenden Sie einige der Standard-QueryPath-Funktionen (die meisten davon implementieren die jQuery-Schnittstelle), um eine neue Webseite von Grund auf zu erstellen.
Jede Zeile des Codes wurde einzeln kommentiert.

复制代码 代码如下:
/** 
* Mit QueryPath. 

* Diese Datei enthält ein Beispiel dafür, wie QueryPath verwendet werden kann 
* zum Generieren von Webseiten. 
* @package QueryPath 
* @subpackage Examples 
* @author M Butcher  
* @license LGPL Die GNU Lesser GPL (LGPL) oder eine MIT-ähnliche Lizenz. 
*/ 
// Erfordert den QueryPath-Kern. 
require_once 'QueryPath/QueryPath.php'; 
// Beginnen Sie mit einem HTML-Stub-Dokument (eigentlich XHTML) und navigieren Sie zum Titel. 
qp(QueryPath::HTML_STUB, 'title') 
// Fügen Sie dem Titel etwas Text hinzu 
->text('Example of QueryPath.') 
// Suchen Sie nun nach dem < ;Körper> element 
->find(':root body') 
// Fügen Sie im Textkörper einen Titel und einen Absatz hinzu. 
->append('

Dies ist eine Testseite

Testtext

') 
// Jetzt wählen wir den Absatz aus, den wir gerade im Hauptteil erstellt haben
->children('p') 
// Dem Absatz ein 'class="some-class"'-Attribut hinzufügen 
->attr('class', 'some-class')
// Und fügen Sie auch ein Stilattribut hinzu, um die Hintergrundfarbe festzulegen. 
->css('background-color', '#eee') 
// Gehen Sie nun erneut zum Absatz zurück 
->parent() 
// Vor dem Absatz und dem Titel, fügen Sie eine leere Tabelle hinzu. 
->prepend('
') 
// Jetzt gehen wir zur Tabelle... 
->find( '#my-table') 
// Ein paar leere Zeilen hinzufügen 
->append('') 
// die Zeilen auswählen (beide gleichzeitig) 
->children() 
// Eine CSS-Klasse zu beiden Zeilen hinzufügen 
->addClass('table-row') 
// Holen Sie sich jetzt einfach die erste Zeile (an Position 0) 
->eq(0) 
// Fügen Sie einen Tabellenkopf in der ersten Zeile hinzu 
->append('Das ist die header') 
// Gehen Sie nun zur nächsten Zeile 
->next() 
// Fügen Sie dieser Zeile einige Daten hinzu 
->append('') 
// Alles als HTML schreiben 
->writeHTML(); 
?>

Der obige Code erzeugt den folgenden HTML-Code:

复制代码 代码如下:
 
 
 
 
Beispiel für QueryPath. 
 
 

 
 
 
Dies ist die Kopfzeile
Dies sind die Daten
 

Dies ist eine Testseite

 

Testtext

 

Jetzt sollten Sie eine Vorstellung davon haben, wie QueryPath funktioniert. Schnappen Sie sich ein Exemplar der Bibliothek und probieren Sie es aus! Zusammen mit dem Quellcode erhalten Sie ein schönes Paket an HTML-Dateien, die jede einzelne öffentliche Funktion in der QueryPath-Bibliothek abdecken (kein Scherz). Da gibt es auch noch mehr Beispiele. 
不错的东东!赶紧 Grab 它吧~~!

感谢您的阅读,更多相关文章请关注PHP中文网(www.php.cn )!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn