CDom
1.0.0
https://github.com/amal/cdom
CDOMは、単純なHTML/XML/BBCODE DOMコンポーネントです。 DOMのような構造でHTMLのようなマークアップ言語のパーサーを提供し、CSS3セレクターと操作の完全な強度でDOMを介した検索をサポートします。 CDOMは、PHP Simple HTML Dom Parserに基づいており、MITライセンスに基づいてライセンスされています。
主な機能とポスビリア人:
CDOMは、Amal Samally(amal.samally at gmail.com)によってanizoptera cmf用に書かれています。
CDOMの使用は非常に簡単です。ほとんどの方法はjQueryのものと一致します。すべての方法が詳細にコメントされています。 IDEは、PHPDOCをサポートする場合、AutoComplytionを簡単に表示できます。そして、以下を使用する例を見ることができます。完全なドキュメントはまもなく行われます。
HTML要素を取得する方法は?
// Create DOM from string
$ html = file_get_contents ( ' http://www.google.com/ ' );
$ dom = CDom:: fromString ( $ html );
// Find all images
foreach ( $ dom -> find ( ' img ' ) as $ element ) {
echo $ element -> src . "n" ;
}
// Find all links
foreach ( $ dom -> find ( ' a ' ) as $ element ) {
echo $ element -> href . "n" ;
}HTML要素を変更する方法は?
// Create DOM from string
$ dom = CDom:: fromString ( ' <div id="hello">Hello</div><div id="world">World</div> ' );
// Add class to the second div (first last child)
$ dom -> find ( ' div:nth-last-child(1) ' )-> class = ' bar ' ;
// Change text of first div
$ dom -> find ( ' div[id=hello] ' )-> text ( ' foo ' );
echo $ dom . "n" ; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>HTMLから内容を抽出します
$ html = file_get_contents ( ' http://www.google.com/ ' );
// Dump correctly formatted contents without tags from HTML
echo CDom:: fromString ( $ html )-> text () . "n" ;CDOMを使用して、単純なBBCodeを使用します
$ bbMarkup = <<<'TXT'
[quote]
[b]Bold [u]Underline[/u][/b]
[i]Italic
[/quote]
[img width=12 height=16]url[/img]
TXT;
CDom:: $ bracketOpen = ' [ ' ;
CDom:: $ bracketClose = ' ] ' ;
CDom:: $ blockTags = array ( ' quote ' => true );
CDom:: $ inlineTags = array ( ' b ' => true , ' i ' => true , ' u ' => true );
CDom:: $ selfClosingTags = array ();
// Create DOM from string
$ dom = CDom:: fromString ( $ bbMarkup );
// Find [b]
$ b = $ dom -> find ( ' b ' );
$ expected = ' [b]Bold [u]Underline[/u][/b] ' ;
echo $ b -> outerHtml () . "n" ; // Output: [b]Bold [u]Underline[/u][/b]
// Change [img] width
$ img = $ dom -> lastChild ;
$ img -> width = 450 ;
echo $ img -> outerHtml () . "n" ; // Output: [img width="450" height="16"]url[/img]
// Convert [b] to html
CDom:: $ bracketOpen = ' < ' ;
CDom:: $ bracketClose = ' > ' ;
echo $ b -> outerHtml () . "n" ; // Output: <b>Bold <u>Underline</u></b>