BERLIOZ HTML SELECTOR
Berlioz HTML Selector adalah perpustakaan PHP untuk melakukan pertanyaan pada file HTML dengan selektor CSS seperti jQuery di DOM.
Instalasi
Komposer
Anda dapat menginstal pemilih html Berlioz dengan komposer, ini adalah instalasi yang disarankan.
$ composer require berlioz/html-selector
Dependensi
- PHP ^8.0
- PERPUSTAKAAN PHP:
- dom
- libxml
- mbstring
- Simplexml
Penggunaan
Muat html
Anda dapat dengan mudah memuat string atau file HTML dengan fungsi statis HtmlSelector::query() . Untuk file, gunakan metode parameter kedua 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 ( /*...*/ ));
Muat dari ResponseInterface
HtmlSelector::queryFromResponse() memungkinkan pemuatan html dari badan respons.
$ htmlSelector = new Berlioz HtmlSelector HtmlSelector ();
/** @var PsrHttpMessageResponseInterface $response */
$ query = $ htmlSelector -> queryFromResponse ( $ response );
Lakukan pertanyaan
Sangat sederhana untuk menanyakan string HTML dengan pemilih seperti jQuery .
/** @var BerliozHtmlSelectorQueryQuery $query */
$ query = $ query -> find ( ' body > .wrapper h2 ' );
$ query = $ query -> filter ( ' :first ' );
Pemilih
CSS Selektor Sederhana
- Jenis : Pilihan elemen dengan jenisnya.
- #ID : Pemilihan elemen dengan ID.
- .Class : Pemilihan elemen dengan kelas mereka.
- Atribut Pilihan.
- [Atribut] : dengan atribut 'atribut'.
- [Atribut = FOO] : Nilai atribut sama dengan 'foo'.
- [Atribut^= foo] : Nilai atribut dimulai dengan 'foo'.
- [Atribut $ = foo] : Nilai atribut diakhiri dengan 'foo'.
- [atribut = foo] *: nilai atribut berisi 'foo'.
- [Atribut! = FOO] : Nilai atribut berbeda dari 'foo'.
- [Atribut ~ = foo] : Nilai atribut berisi kata 'foo'.
- [Atribut | = foo] : Nilai atribut berisi awalan 'foo'.
CSS Ascendants, Descendants, Multiples
- pemilih pemilih atau pemilih >> selektor : semua pemilih keturunan.
- Pemilih > Pemilih : Pemilih Keturunan Langsung (hanya anak -anak).
- Pemilih ~ Pemilih : Pemilih Saudara.
- Selector , Selector : beberapa pemilih.
Kelas Pseudo CSS
- : Setiap (pemilih, pemilih) : hanya elemen yang diberikan dalam argumen.
- : any-link : Hanya elemen tipe
<a> , <area> dan <link> , dengan atribut [href] . - : Blank : Hanya elemen tanpa anak, dan tidak ada teks (kecuali spasi).
- : Diperiksa : Hanya elemen dengan atribut
[checked] . - : DIR : Hanya elemen dengan teks terarah yang diberikan (default: ltr).
- : Dinonaktifkan : Hanya elemen tipe
<button> , <input> , <optgroup> , <select> atau <textarea> dengan atribut [disabled] . - : Kosong : Hanya elemen tanpa anak.
- : diaktifkan : Hanya elemen tipe
<button> , <input> , <optgroup> , <option> , <select> , <textarea> , <menuitem> atau <fieldset> tanpa atribut [disabled] . - : Pertama : hanya hasil pertama dari seleksi lengkap.
- : anak pertama : Hanya anak-anak pertama di orang tua mereka.
- : First-of-Type : Hanya tipe pertama di orang tua mereka.
- : memiliki (pemilih, pemilih) : hanya elemen yang pemilih anak yang valid.
- : lang (x) : hanya elemen dengan atribut
[lang] diawali oleh atau sama dengan nilai yang diberikan. - : Last-Child : Hanya bertahan pada orang tua mereka.
- : Last-of-type : Hanya jenis yang bertahan di orang tua mereka.
- : tidak (pemilih, pemilih) : filter 'tidak'.
- : nth-child () : n elemen dalam hasil pemilih.
- : nth-last-child () : n elemen dalam hasil pemilih, mulai dari akhir daftar.
- : nth-of-type () : n elemen dari jenis yang diberikan dalam hasil pemilih.
- : nth-last-of-type () : n elemen dari tipe yang diberikan dalam hasil pemilih, mulai dari akhir daftar.
- : Only-Child : Hanya elemen yang hanya anak di orang tua.
- : Hanya tipe-tipe : Hanya elemen yang hanya mengetik anak di induk.
- : opsional () : Hanya elemen input tanpa atribut
[required] . - : read-only () : Hanya elemen yang tidak dapat diedit oleh pengguna.
- : read-write () : Hanya elemen dengan properti yang dapat diedit.
- : wajib () : hanya elemen dengan atribut
[required] . - : root () : Dapatkan elemen root.
Kelas pseudo CSS tambahan (bukan dalam spesifikasi CSS) dari jQuery Library
- : Tombol : Hanya elemen tipe
<button> tanpa nilai atribut [type=submit] atau <input type="button"> . - : kotak centang : Hanya elemen dengan atribut
[type=checkbox] . - : berisi (x) : hanya elemen yang berisi teks yang diberikan.
- : eq (x) : Hanya hasil dengan indeks yang diberikan (indeks mulai ke 0).
- : bahkan : bahkan hanya menghasilkan seleksi.
- : File : Hanya elemen dengan atribut
[type=file] . - : gt (x) : Hanya hasil dengan indeks lebih besar dari indeks yang diberikan (indeks mulai ke 0).
- : GTE : Hanya hasil dengan indeks yang lebih besar dari atau sama dengan indeks yang diberikan (indeks mulai ke 0).
- : header : hanya elemen heading, seperti
<h1> , <h2> ... - : gambar : hanya elemen dengan atribut
[type=image] . - : Input : Hanya elemen Type
<input> , <textarea> , <select> atau <button> . - : Terakhir : Hanya hasil terakhir dari seleksi lengkap.
- : LT : Hanya hasil dengan kulit indeks dari indeks yang diberikan (indeks mulai ke 0).
- : LTE : Hanya hasil dengan kulit indeks dari atau sama dengan indeks yang diberikan (indeks mulai ke 0).
- : ganjil : hanya hasil ganjil dalam seleksi.
- : orang tua : hanya elemen dengan satu anak atau lebih.
- : Kata sandi : Hanya elemen dengan atribut
[type=password] . - : Radio : Hanya elemen dengan atribut
[type=radio] . - : Reset : Hanya elemen dengan atribut
[type=reset] . - : dipilih : Hanya elemen tipe
<option> dengan atribut [selected] . - : Kirim : Hanya elemen tipe
<button> atau <input> dengan atribut [type=submit] . - : Teks : Hanya elemen tipe
<input> dengan atribut [type=text] atau tanpa atribut [type] .
Kelas pseudo CSS tambahan (bukan dalam spesifikasi CSS)
- : Count (x) : Hanya elemen yang adalah anak -anak X dalam induk, digunakan dalam : memiliki kelas semu (pemilih) .
Contoh lengkap pemilih
select > option:selected
div#myId.class1.class2[name1=value1][name2=value2]:even:first
Fungsi
Fungsi default
Beberapa fungsi default tersedia di objek kueri untuk berinteraksi dengan hasil. Fungsi harus memiliki hasil yang sama dengan rekan -rekan mereka di jQuery.
- attr (name) : Dapatkan nilai atribut
- attr (name, value) : Set Nilai Atribut
- Anak -anak () : Dapatkan anak -anak elemen dalam hasil.
- Count () : Hitung jumlah elemen dalam hasil kueri.
- Data (NameOfData) : Dapatkan nilai data (nama dengan sintaks Camelcase tanpa awalan 'data-').
- filter (pemilih) : Elemen filter dalam hasil.
- Temukan (pemilih) : Temukan pemilih dalam elemen dalam hasil.
- Dapatkan (i) : Dapatkan elemen DOM dalam hasil.
- Hasclass (class_name) : Ketahui jika paling tidak satu elemen dalam hasil telah memberikan kelas.
- html () : Dapatkan html elemen pertama dalam hasil.
- Indeks (Selector) : Dapatkan indeks pemilih yang diberikan dalam elemen hasil.
- IS (Selector) : Ketahui apakah pemilih valid paling tidak satu elemen dalam hasil.
- Isset (i) : Return Boolean untuk mengetahui apakah kunci elemen ada sebagai hasil.
- Berikutnya (pemilih) : Dapatkan elemen berikutnya setelah setiap elemen dalam hasil.
- Nextall (Selector) : Dapatkan semua elemen berikutnya setelah setiap elemen dalam hasil.
- tidak (pemilih) : elemen filter dalam hasil.
- Parent () : Dapatkan induk langsung dari hasil pemilihan saat ini.
- Orang tua (pemilih) : Dapatkan semua orang tua dari hasil saat ini memilih.
- Sebelumnya (pemilih) : Dapatkan elemen PREV setelah setiap elemen dalam hasil.
- Prevall (Selector) : Dapatkan semua elemen PREV setelah setiap elemen dalam hasil.
- Prop (Name) : Dapatkan nilai boolean properti dari suatu atribut, yang digunakan misalnya untuk atribut
disabled . - Prop (Name, Value) : Tetapkan nilai boolean properti dari suatu atribut, yang digunakan misalnya untuk atribut
disabled . - Serialize () : Serialize Nilai Input dari Suatu Formulir. Mengembalikan string.
- SerializeArray () : Serialisasi nilai input dari suatu bentuk. Mengembalikan array.
- Text () : Dapatkan teks dari setiap elemen yang digabungkan.
- Val () : Dapatkan nilai elemen formulir.