QueryPath (QP) ライブラリは、PHP の jQuery と同様の効果を実装しており、XML HTML を簡単に処理するためにも使用できます...とても強力です。 ! !
QueryPath チュートリアル (簡単な説明)
QueryPath はメソッド チェーンを利用して、DOM を操作するための簡潔なツール スイートを提供します
メソッド チェーンの基本原理は、各メソッドが追加のメソッドを呼び出すことができるオブジェクトを返すことです。この場合、QueryPath オブジェクトは通常、それ自体を返します。
$qp = qp(QueryPath::HTML_STUB) // 新しい QueryPath オブジェクトを生成します。(QP オブジェクトを作成します)
$qp2 = $qp->find('body'); // body タグを見つけます。(「body」タグを見つけます)
// ここで驚くべき部分:(何が驚いたかを以下でご覧ください)
if ( $ qp === $qp2) {
// これは常に出力されます。(常にこのように出力されます)
print "MATCH";
なぜ $qp は常に $qp2 と等しいのでしょうか?すべてのデータ収集を実行し、QueryPath オブジェクトを返します。
これは難解に見えるかもしれませんが、この種のインターフェイスを使用すると、多くのメソッドを連鎖させることができます。 jQuery を使用してメソッドを連結します)
qp(QueryPath::HTML_STUB)->find('body')->text('Hello World')->writeHTML(); この例では、4 つのメソッド呼び出しがあります。
qp(QueryPath::HTML_STUB): 新しい QueryPath オブジェクトを作成し、それに HTML ドキュメントのスタブを提供します。これは QueryPath オブジェクトを返します。
find('body'): QueryPath ドキュメントを検索して ' という名前の要素を探します。 body '。その要素は、もちろん HTML ドキュメントの 部分です。body 要素を見つけると、その要素への内部ポインタを保持し、QueryPath オブジェクトを返します。
text('Hello World'): この関数は、QueryPath でラップされた現在の要素を取得し、テキスト Hello World を追加します。これも QueryPath オブジェクトを返します。オブジェクトは引き続き body 要素を指します。 writeHTML() 関数は、HTML をクライアントに返すために使用されます。さて、ご想像のとおり、QueryPath は次のようになります。
コードをコピーします
コードは次のとおりです:
http:// www.w3.org/1999/xhtml"> ;/meta>
Untitled は タグ内に Hello World テキストを追加しました
一部のツールは他の QueryPath オブジェクトを返す必要はありません。ただし、これらの関数については、付属のドキュメントに詳しく説明されています。
これらは QueryPath の背後にある基本原則です。次に、QueryPath API の詳細を実行するより大きな例を見てみましょう
この例では、さまざまなコアを説明します。 QueryPath の機能
この例では、標準の QueryPath 関数 (そのほとんどは jQuery インターフェイスを実装しています) を使用して、新しい Web ページを最初から構築します
コードの各行は個別にコメント化されています。は下の別のブロックに表示されます
コードをコピーします
コードは次のとおりです:
/**
* クエリパスを使用します。
*
* このファイルには、QueryPath を使用して Web ページを生成する方法
* の例が含まれています。
* @package QueryPath
* @subpackage 例
* @author M Butcher
* @license LGPL GNU Lesser GPL (LGPL) または MIT に似たライセンス。
*/
// QueryPath コアが必要です。
require_once 'QueryPath/QueryPath.php';
// HTML スタブ ドキュメント (実際には XHTML) から始めて、タイトルに移動します。
qp(QueryPath::HTML_STUB, 'title')
// タイトルにテキストを追加します
->text('Example of QueryPath.')
// 次に、 を探します。 element
->find(':root body')
// 本文内にタイトルと段落を追加します。
->append('これはテストページです
テストテキスト
')
// 次に、本文内に作成したばかりの段落を選択します
-> Children('p')
// 'class="some-class"' 属性を段落に追加します
->attr('class', 'some-class')
// style 属性も追加します、背景色を設定します。
->css('background-color', '#eee')
// もう一度段落に戻ります
->parent()
// 段落とタイトルの前に空のテーブルを追加します。
->prepend('')
// さて、テーブルに行きましょう...
->find('#my-table' )
// 空の行をいくつか追加します
->append('|
')
// 行を選択します (両方を一度に)
- >children()
// 両方の行に CSS クラスを追加します
->addClass('table-row')
// ここで最初の行 (位置 0) を取得するだけです
->eq(0)
// 最初の行にテーブルヘッダーを追加します
->append('This is the header | ')
// 次の行に進みます
->next()
//この行にデータを追加します
->append('This is the data | ')
// すべてを HTML として書き出します
->writeHTML();
?>
上記のコードは次の HTML を生成します:
复制代码代码如下:
QueryPath の例。 頭>
<ボディ>
<テーブル id="my-table">
これはヘッダーです |
これはデータです |
表>
これはテストページです
テスト テキスト
これで、QueryPath がどのように機能するか理解できたはずです。ライブラリのコピーを入手して試してみてください。ソース コードとともに、QueryPath ライブラリのすべてのパブリック関数をカバーする HTML ファイルの素晴らしいバンドルが得られます (冗談ではありません)。他にも例はあります。
不错的东东!赶紧掴み它吧~~!