Berlioz HTML المحدد
Berlioz HTML Selector هي مكتبة PHP لإجراء استعلامات على ملفات HTML مع محددات CSS مثل JQuery على DOM.
تثبيت
الملحن
يمكنك تثبيت محدد Berlioz HTML مع الملحن ، إنه التثبيت الموصى به.
$ composer require berlioz/html-selector
التبعيات
- PHP ^8.0
- مكتبات PHP:
- دوم
- libxml
- MBSTRING
- Simplexml
الاستخدام
تحميل html
يمكنك بسهولة تحميل سلسلة أو ملف HTML مع الوظيفة الثابتة HtmlSelector::query() . بالنسبة للملفات ، استخدم contentsIsFile المعلمة الثانية من الطريقة.
$ htmlSelector = new Berlioz HtmlSelector HtmlSelector ();
$ query = $ htmlSelector -> query ( ' <html><body>...</body></html> ' );
$ query = $ htmlSelector -> query ( ' path-of-my-file/file.html ' , contentsIsFile: true );
$ query = $ htmlSelector -> query ( new SimpleXMLElement ( /*...*/ ));
تحميل من ResponseInterface
HtmlSelector::queryFromResponse() يسمح بتحميل HTML لجسم الاستجابة.
$ htmlSelector = new Berlioz HtmlSelector HtmlSelector ();
/** @var PsrHttpMessageResponseInterface $response */
$ query = $ htmlSelector -> queryFromResponse ( $ response );
قم بالاستعلام
من السهل جدًا الاستعلام عن سلسلة HTML مع محدد مثل jQuery .
/** @var BerliozHtmlSelectorQueryQuery $query */
$ query = $ query -> find ( ' body > .wrapper h2 ' );
$ query = $ query -> filter ( ' :first ' );
المختارون
CSS المحددات البسيطة
- النوع : اختيار العناصر مع نوعها.
- #ID : اختيار عنصر مع معرفه.
- .Class : اختيار العناصر مع فصلهم.
- اختيارات السمات.
- [السمة] : مع السمة "السمة".
- [السمة = foo] : قيمة السمة تساوي "foo".
- [السمة^= foo] : تبدأ قيمة السمة بـ 'foo'.
- [السمة $ = FOO] : تنتهي قيمة السمة بـ "Foo".
- [Attribute = Foo] *: تحتوي قيمة السمة على "Foo".
- [السمة! = فو] : قيمة السمة مختلفة من "foo".
- [السمة ~ = foo] : تحتوي قيمة السمة على كلمة "foo".
- [السمة | = FOO] : تحتوي قيمة السمة على بادئة "Foo".
CSS الصعود ، أحفاد ، مضاعفات
- محدد المحدد أو المحدد >> المحدد : جميع محددات سليل.
- المحدد > المحدد : محدد سليل المباشر (الأطفال فقط).
- محدد ~ المحدد : محدد الأشقاء.
- المحدد ، المحدد : محددات متعددة.
CSS الفصول الزائفة
- : أي (محدد ، محدد) : عناصر فقط في الحجج.
- : أي ارتباط : عناصر النوع
<a> فقط ، <area> و <link> ، مع سمة [href] . - : فارغة : عناصر فقط بدون طفل ، وليس نصًا (باستثناء المساحات).
- : تم التحقق منه : عناصر فقط مع السمة
[checked] . - : DIR : عناصر فقط مع نص الاتجاه المعطى (الافتراضي: LTR).
- : معطل : عناصر النوع فقط من النوع
<button> أو <input> أو <optgroup> أو <select> أو <textarea> مع سمة [disabled] . - : فارغة : عناصر فقط بدون طفل.
- : ممكّن : عناصر النوع فقط من النوع
<button> ، <input> ، <optgroup> ، <option> ، <select> ، <textarea> ، <menuitem> أو <fieldset> بدون [disabled] سمة. - : أولا : النتيجة الأولى فقط للاختيار الكامل.
- : أول طفل : أول أطفال في والديهم.
- : أول نوع من النوع : أوائل الكتابة فقط في والديهم.
- : لديه (محدد ، محدد) : عناصر فقط محدد الطفل صالح.
- : Lang (x) : عناصر فقط مع السمة
[lang] مسبوقة بواسطة أو تساوي القيمة المعطاة. - : آخر طفل : يدوم فقط في والديهم.
- : آخر نوع : يدوم فقط الكتابة في والديهم.
- : لا (محدد ، محدد) : تصفية "لا".
- : nth-child () : العناصر n في نتيجة المحدد.
- : nth-last-child () : n elements in selector result ، ابدأ في نهاية القائمة.
- : nth-type () : n elements من نوع معين في نتيجة المحدد.
- : nth-last-type () : n elements من نوع معين في نتيجة المحدد ، ابدأ في نهاية القائمة.
- : فقط-طفل : العناصر فقط التي هي طفل فقط في الوالد.
- : فقط من النوع : العناصر فقط التي تكتب الطفل فقط في الوالد.
- : اختياري () : فقط عناصر الإدخال دون
[required] السمة. - : القراءة فقط () : العناصر فقط التي لا يمكن للمستخدم تحريرها.
- : Read-Write () : عناصر فقط مع خاصية قابلة للتحرير.
- : مطلوب () : العناصر فقط مع السمة
[required] . - : Root () : الحصول على عنصر الجذر.
فئات Pseudo إضافية (وليس في مواصفات CSS) من مكتبة jQuery
- : الزر : عناصر النوع فقط من النوع
<button> بدون قيمة السمة [type=submit] أو <input type="button"> . - : مربع الاختيار : عناصر فقط مع السمة
[type=checkbox] . - : يحتوي على (x) : العناصر فقط التي تحتوي على نص معين.
- : Eq (x) : نتيجة فقط مع الفهرس المعطى (فهرس ابدأ إلى 0).
- : حتى : حتى فقط يؤدي إلى الاختيار.
- : ملف : عناصر فقط مع السمة
[type=file] . - : GT (x) : نتيجة فقط مع فهرس أكبر من الفهرس المعطى (فهرس ابدأ إلى 0).
- : GTE : نتيجة فقط مع فهرس أكبر من أو يساوي الفهرس المعطى (فهرس ابدأ إلى 0).
- : رأس : عناصر العنوان فقط ، مثل
<h1> ، <h2> ... - : الصورة : عناصر فقط مع السمة
[type=image] . - : الإدخال : عناصر النوع فقط من النوع
<input> أو <textarea> أو <select> أو <button> . - : الأخير : النتيجة الأخيرة فقط للاختيار الكامل.
- : LT : النتيجة فقط مع الفهرس الجلدي من الفهرس المعطى (تبدأ الفهرس إلى 0).
- : LTE : النتيجة فقط مع جلد الفهرس من أو يساوي الفهرس المعطى (تبدأ الفهرس إلى 0).
- : ODD : نتائج غريبة فقط في الاختيار.
- : الوالد : عناصر فقط مع طفل واحد أو أكثر.
- : كلمة المرور : عناصر فقط مع السمة
[type=password] . - : الراديو : عناصر فقط مع السمة
[type=radio] . - : إعادة تعيين : عناصر فقط مع السمة
[type=reset] . - : محدد : عناصر النوع فقط من نوع
<option> مع السمة [selected] . - : إرسال : عناصر النوع فقط من النوع
<button> أو <input> مع السمة [type=submit] . - : نص : عناصر النوع فقط من نوع
<input> مع السمة [type=text] أو بدون [type] السمة.
فئات Pseudo إضافية CSS (وليس في مواصفات CSS)
- : COUNT (x) : عناصر فقط من الأطفال x في الوالد ، المستخدمة في : HAS (SECECTOR) pseudo class.
مثال كامل على المختارين
select > option:selected
div#myId.class1.class2[name1=value1][name2=value2]:even:first
وظائف
الوظائف الافتراضية
تتوفر بعض الوظائف الافتراضية في كائن الاستعلام للتفاعل مع النتائج. يجب أن يكون للوظائف نفس النتيجة التي حققتها نظرائهم على jQuery.
- attr (اسم) : الحصول على قيمة السمة
- attr (الاسم ، القيمة) : تعيين قيمة السمة
- الأطفال () : الحصول على أطفال من العناصر النتيجة.
- Count () : عد عدد العناصر في نتيجة الاستعلام.
- البيانات (NameOfData) : احصل على قيمة البيانات (الاسم مع بناء جملة Camelcase بدون بادئة "البيانات-").
- مرشح (محدد) : تصفية عناصر النتيجة.
- Find (Selector) : Find Selector في عناصر في النتيجة.
- احصل على (I) : الحصول على عنصر DOM في النتيجة.
- HasClass (class_name) : معرفة ما إذا كان أحد العناصر على الأقل في النتيجة قد أعطى فئات.
- HTML () : احصل على HTML من العنصر الأول في النتيجة.
- الفهرس (المحدد) : احصل على فهرس المحدد المعطى في عناصر النتيجة.
- هو (محدد) : معرفة ما إذا كان المحدد صالحًا لأقل عنصر واحد في النتيجة.
- ISSET (I) : Return Boolean لمعرفة ما إذا كان مفتاح العنصر موجودًا في النتيجة.
- التالي (المحدد) : احصل على العنصر التالي بعد كل عنصر في النتيجة.
- Nextall (محدد) : احصل على جميع العناصر التالية بعد كل عنصر في النتيجة.
- لا (محدد) : تصفية عناصر النتيجة.
- Parent () : الحصول على الوالد المباشر للنتيجة الحالية للاختيار.
- الآباء (المحدد) : الحصول على جميع أولياء أمور النتيجة الحالية للاختيار.
- السابق (المحدد) : احصل على عنصر سابق بعد كل عنصر في النتيجة.
- Prevall (محدد) : احصل على جميع عناصر Prev بعد كل عنصر في النتيجة.
- Prop (Name) : Get Property Boolean Value of السمة ، تستخدم على سبيل المثال السمة
disabled . - Prop (Name ، Value) : Set Property Boolean Value لسمة ، تستخدم على سبيل المثال السمة
disabled . - Serialize () : تسلسل قيم الإدخال من النموذج. إرجاع سلسلة.
- SerializeArray () : تسلسل قيم الإدخال من النموذج. إرجاع صفيف.
- Text () : احصل على نص لكل عنصر متسلسل.
- Val () : احصل على قيمة عنصر النموذج.