innmind/html

Library to abstract html manipulation

Installs: 2 023

Dependents: 4

Suggesters: 0

Security: 0

Stars: 1

Watchers: 3

Forks: 0

Language:HTML

6.3.0 2023-12-02 13:23 UTC

This package is auto-updated.

Last update: 2024-03-31 13:56:54 UTC


README

Build Status codecov Type Coverage

This library is an extension of innmind/xml to support working properly with html as a node tree.

Important: you must use vimeo/psalm to make sure you use this library correctly.

Installation

composer require innmind/html

Usage

use Innmind\Html\Reader\Reader;
use Innmind\Xml\Node;
use Innmind\Filesystem\File\Content;
use Innmind\Immutable\Maybe;

$read = Reader::default();

$html = $read(
    Content::ofString(\file_get_contents('https://github.com/')),
); // Maybe<Node>

Extract some elements of the tree

This library provides some visitors to extract elements out of the dom tree, the example below show you how to extract all the h1 elements of a tree:

use Innmind\Html\Visitor\Elements;

$h1s = Elements::of('h1')($html);

Here $h1s is a set of Element which are all h1 elements.

Here's the full list of visitors you have access to: