QueryPath(QP)函式庫 在 PHP 中實作了類似 jQuery 的效果,用它還可以方便地處理 XML HTML...功能太強大了! ! !
A QueryPath Tutorial(一個簡易說明)
QueryPath makes use of method chaining to provide a concise suite of tools for manipulating a DOM.
The basic methodple of method method method called . In our case, the QueryPath object usually returns itself.
Let's take a look at an example to illustrate:
$qp = qp(QueryPath::HTML_STUB); // 物件建立一個$qp2 = $qp->find('body'); // Find the body tag.(找到"body" 標籤)
// Now the surprising part:(請看下面讓你驚奇的地方)
if ($ qp === $qp2) {
// This will always get printed.(它總是會這樣輸出)
print "MATCH";
}
Why does $qp always equal $qp2? Because the findes) funccause the findes) func all of its data gathering and then returns the QueryPath object.
This might seem esoteric, but it all has a very practical rationale. With this sort of interface, we can chain lots of methodery 來使用你可以用連綴方法)
qp(QueryPath::HTML_STUB)->find('body')->text('Hello World')->writeHTML();
In this example, we have four method calls:
In this example, we have four method calls:
:HTML_STUB): Create a new QueryPath object and provide it with a stub of an HTML document. This returns the QueryPath object.
find('body'): This searches the QueryPath document looking for anementel. is, of course, the
Not all QueryPath functions returnPath QueryPath objects. Some tools need to return other data. But those functions are well-documented in the included documentation.
These are the basic principles behind QueryPath. Now let's take control the basic principles behind QueryPath. Now let's takea . A Longer Example
This example illustrates various core features of QueryPath.
In this example, we use some of the standard QueryPath functions (most of them implementing theQuery interface web has been commented individually. The output from this is shown in a separate block beneath.
複製程式碼如下: 測試文字
/**
* 使用 QueryPath。
*
* 此檔案包含如何使用 QueryPath
* 產生網頁的範例。
* @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('這是一個測試頁
// 現在我們選擇剛剛在正文中建立的段落
->; child('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('這是標題 ')
// 現在轉到下一行
->next()
//向該行添加一些資料
->append('This is the data ')
// 將其全部寫為HTML
->writeHTML();
?>
上面的程式碼產生以下HTML:
複製程式碼如下:
HTML 1.0 Strict//EN" "http://www. w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
;
測試文字
現在您應該了解QueryPath 的工作原理了。取得該庫的副本並嘗試!除了原始程式碼之外,您還將獲得一組精美的 HTML 文件,其中涵蓋了 QueryPath 庫中的每個公共函數(不是開玩笑)。還有更多的例子。
不錯的東東!趕快搶吧~~!
感謝您的閱讀,更多相關文章請關注PHP中文網(www.php.cn)!