Seletor de Berlioz HTML
O seletor de Berlioz HTML é uma biblioteca PHP para fazer consultas em arquivos HTML com seletores CSS como o JQuery no DOM.
Instalação
Compositor
Você pode instalar o seletor Berlioz HTML com o Composer, é a instalação recomendada.
$ composer require berlioz/html-selector
Dependências
- Php ^8.0
- Bibliotecas PHP:
- dom
- libxml
- mbstring
- Simpxml
Uso
Carregue html
Você pode carregar facilmente uma sequência ou arquivo html com a função estática HtmlSelector::query() . Para arquivos, use o segundo parâmetro contentsIsFile do método.
$ 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 ( /*...*/ ));
Carregar de ResponseInterface
HtmlSelector::queryFromResponse() Permita carregar html de um corpo de resposta.
$ htmlSelector = new Berlioz HtmlSelector HtmlSelector ();
/** @var PsrHttpMessageResponseInterface $response */
$ query = $ htmlSelector -> queryFromResponse ( $ response );
Faça uma consulta
É muito simples consultar uma string html com um seletor como o jQuery .
/** @var BerliozHtmlSelectorQueryQuery $query */
$ query = $ query -> find ( ' body > .wrapper h2 ' );
$ query = $ query -> filter ( ' :first ' );
Seletores
CSS Seletores simples
- Tipo : Seleção de elementos com seu tipo.
- #ID : Seleção de um elemento com seu ID.
- .Class : Seleção de elementos com sua classe.
- Seleções de atributos.
- [atributo] : com atributo 'atributo'.
- [atributo = foo] : o valor do atributo é igual a 'foo'.
- [atributo^= foo] : O valor do atributo começa com 'Foo'.
- [atributo $ = foo] : o valor do atributo termina com 'foo'.
- [atributo = foo] *: o valor do atributo contém 'foo'.
- [atributo! = foo] : valor do atributo diferente de 'foo'.
- [atributo ~ = foo] : o valor do atributo contém palavra 'foo'.
- [atributo | = foo] : o valor do atributo contém prefixo 'foo'.
CSS ascendentes, descendentes, múltiplos
- Seletor Seletor ou Seletor >> Seletor : Todo seletor de descendente.
- Seletor > Seletor : seletor de descendente direto (apenas crianças).
- Seletor ~ Seletor : seletor de irmãos.
- Seletor , seletor : vários seletores.
CLASSES Pseudo -CSS
- : qualquer (seletor, seletor) : apenas elementos fornecidos nos argumentos.
- : qualquer link : apenas elementos do tipo
<a> , <area> e <link> , com o atributo [href] . - : em branco : apenas elementos sem filho e nenhum texto (exceto espaços).
- : verificado : apenas elementos com atributo
[checked] . - : dir : apenas elementos com texto direcional dado (padrão: LTR).
- : desativado : apenas elementos do tipo
<button> , <input> , <optgroup> , <select> ou <textarea> com o atributo [disabled] . - : vazio : apenas elementos sem filho.
- : ativado : apenas elementos do tipo
<button> , <input> , <optgroup> , <option> , <select> , <textarea> , <menuitem> ou <fieldset> sem atributo [disabled] . - : Primeiro : apenas o primeiro resultado da seleção completa.
- : Primeiro filho : Somente as crianças em primeiro lugar em seus pais.
- : Primeiro do tipo : apenas os primeiros digitam seus pais.
- : tem (seletor, seletor) : apenas elementos que seletor de crianças válidas.
- : lang (x) : apenas elementos com atributo
[lang] prefixado por ou iguais ao valor determinado. - : Último filho : dura apenas em seus pais.
- : Último do tipo : dura apenas os pais em seus pais.
- : não (seletor, seletor) : filtre 'não'.
- : NTH-child () : n elementos no resultado seletor.
- : nth-last-child () : n elementos no resultado seletor, inicie no final da lista.
- : nº do tipo () : n elementos do tipo determinado no resultado seletor.
- : nth-last-of-type () : n elementos do tipo determinado no resultado seletor, inicie no final da lista.
- : apenas filho : apenas elementos que são apenas filhos do pai.
- : Somente do tipo : apenas elementos que são apenas um filho do pai no pai.
- : opcional () : somente os elementos de entrada sem atributo
[required] . - : leitura somente () : apenas elementos que o usuário não pode editar.
- : Read-write () : apenas elementos com propriedade editável.
- : requerir () : apenas elementos com atributo
[required] . - : root () : obtenha o elemento raiz.
Aulas de pseudo -CSS adicionais (não nas especificações do CSS) da JQuery Library
- : Botão : somente elementos do tipo
<button> sem valor de atributo [type=submit] ou <input type="button"> . - : caixa de seleção : apenas elementos com atributo
[type=checkbox] . - : contém (x) : somente elementos que contêm texto fornecido.
- : Eq (x) : resulta apenas com o índice fornecido (o índice inicia para 0).
- : Mesmo : apenas resulta em seleção.
- : Arquivo : apenas elementos com atributo
[type=file] . - : gt (x) : resulta apenas com um índice maior que o índice dado (o índice inicia para 0).
- : GTE : Resultado apenas com um índice maior ou igual ao índice dado (o índice inicia em 0).
- : cabeçalho : apenas elementos do cabeçalho, como
<h1> , <h2> ... - : Imagem : apenas elementos com atributo
[type=image] . - : Entrada : apenas elementos do tipo
<input> , <textarea> , <select> ou <button> . - : Last : Somente o último resultado da seleção completa.
- : LT : Resultado apenas com couro de índice que o índice fornecido (o índice inicia 0).
- : LTE : Resultado apenas com couro de índice que ou igual ao índice dado (o índice inicia para 0).
- : ímpar : apenas resultados ímpares em seleção.
- : Pai : apenas elementos com uma criança ou mais.
- : Senha : apenas elementos com atributo
[type=password] . - : Rádio : Somente elementos com atributo
[type=radio] . - : Redefinir : apenas elementos com atributo
[type=reset] . - : Selecionado : apenas elementos do tipo
<option> com atributo [selected] . - : Enviar : apenas elementos do tipo
<button> ou <input> com atributo [type=submit] . - : Texto : somente elementos do tipo
<input> com atributo [type=text] ou sem atributo [type] .
Aulas de pseudo -CSS adicionais (não nas especificações do CSS)
- : Conde (x) : Somente elementos que são x crianças do pai, usadas em : Has (seletor) pseudo -classe.
Exemplo completo de seletores
select > option:selected
div#myId.class1.class2[name1=value1][name2=value2]:even:first
Funções
Funções padrão
Algumas funções padrão estão disponíveis no objeto de consulta para interagir com os resultados. As funções devem ter o mesmo resultado que seus colegas no jQuery.
- att (nome) : obtenha o valor do atributo
- att (nome, valor) : defina o valor do atributo
- Crianças () : Obtenha filhos de elementos em resultado.
- contagem () : conte o número de elementos no resultado da consulta.
- Dados (nameofdata) : Get Data Value (o nome é com a sintaxe do camelcase sem o prefixo 'dados').
- Filtro (seletor) : Filtre elementos no resultado.
- Encontre (seletor) : encontre seletor nos elementos no resultado.
- Obtenha (i) : obtenha o elemento DOM no resultado.
- Hasclass (Class_Name) : Saiba se o mínimo de um elemento no resultado tiveram classes.
- html () : obtenha html do primeiro elemento no resultado.
- ÍNDICE (SELECTOR) : Obtenha o índice do determinado seletor nos elementos de resultado.
- é (seletor) : saiba se o seletor válido o mínimo um elemento no resultado.
- ISSET (i) : Retorne booleano para saber se existe uma chave de elemento no resultado.
- Próximo (seletor) : Obtenha o próximo elemento após cada elemento no resultado.
- NextAll (seletor) : Obtenha todos os próximos elementos após cada elemento no resultado.
- não (seletor) : filtre elementos no resultado.
- pai () : Obtenha o pai direto do resultado atual da seleção.
- Pais (seletor) : Obtenha todos os pais do resultado atual da seleção.
- Anterior (seletor) : Obtenha o elemento Anterior após cada elemento no resultado.
- Preval (seletor) : Obtenha todos os elementos anteriores após cada elemento no resultado.
- Prop (nome) : Obtenha o valor booleano da propriedade de um atributo, usado, por exemplo, para atributo
disabled . - Prop (Nome, Valor) : Defina o valor booleano da propriedade de um atributo, usado, por exemplo, para atributo
disabled . - serialize () : serialize os valores de entrada de um formulário. Retornar uma string.
- SerializeArray () : Serialize os valores de entrada de um formulário. Devolver uma matriz.
- texto () : Obtenha o texto de cada elemento concatenado.
- val () : obtenha o valor de um elemento de formulário.