CDom
1.0.0
https://github.com/amal/cdom
CDOM هو مكون HTML/XML/BBCODE DOM بسيط. إنه يوفر محللًا للغة العلامات التي تشبه HTML في بنية تشبه DOM ودعم البحث من خلال DOM مع قوة كاملة من محددات CSS3 وأي معالجات. يعتمد CDOM على PHP Simple HTML DOM Parser ومرخصة بموجب ترخيص MIT.
الميزات الرئيسية والإمكانات:
تتم كتابة CDOM لـ Anizoptera CMF بواسطة Amal Samally (Amal.Samally at Gmail.com)
استخدام cdom بسيط للغاية. معظم الأساليب تتطابق مع الطرقات. جميع الطرق يتم التعليق عليها التفاصيل. يمكن أن يؤدي IDE إلى إكمال الإكمال التلقائي ، إذا دعم PHPDOC. ويمكنك رؤية أمثلة على استخدام أدناه. الوثائق الكاملة ستكون قريبا.
كيف تحصل على عناصر 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>