• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

voku / simple_html_dom
97%

Build:
DEFAULT BRANCH: master
Repo Added 10 Feb 2015 06:39AM UTC
Files 25
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • 1.6.6
  • 1.6.7
  • 1.6.8
  • 1.7.0
  • 1.7.1
  • 1.7.2
  • 2.0.0-RC
  • 2.0.1-RC
  • 2.0.10
  • 2.0.11
  • 2.0.12
  • 2.0.13
  • 2.0.14
  • 2.0.15
  • 2.0.16
  • 2.0.17
  • 2.0.18
  • 2.0.19
  • 2.0.2-RC
  • 2.0.20
  • 2.0.21
  • 2.0.22
  • 2.0.23
  • 2.0.24
  • 2.0.25
  • 2.0.26
  • 2.0.27
  • 2.0.28
  • 2.0.29
  • 2.0.3
  • 2.0.30
  • 2.0.31
  • 2.0.4
  • 2.0.5
  • 2.0.6
  • 2.0.7
  • 2.0.8
  • 2.0.9
  • 3.0.0
  • 3.0.1
  • 3.1.0
  • 3.1.1
  • 3.1.2
  • 4.0.1
  • 4.1.0
  • 4.1.1
  • 4.1.10
  • 4.1.2
  • 4.1.3
  • 4.1.4
  • 4.1.5
  • 4.1.6
  • 4.1.7
  • 4.1.8
  • 4.1.9
  • 4.2.0
  • 4.2.1
  • 4.3.0
  • 4.3.1
  • 4.3.2
  • 4.3.3
  • 4.4.0
  • agent/shd-parser-backlog-sync
  • analysis-8nZa08
  • analysis-X0gB2n
  • analysis-X0wx5w
  • analysis-XVB463
  • analysis-XVDrbK
  • analysis-XWnK0N
  • analysis-XkaLy1
  • analysis-q2jNlP
  • analysis-qJGNgW
  • analysis-z4wPQn
  • analysis-zGLv22
  • claude/php-8.4-dom-htmldocument-vronm4
  • copilot/add-remove-method-test
  • copilot/add-selector-support-for-domtext
  • copilot/add-support-for-php8-nullsafe-operator
  • copilot/add-symfony-support-7-0
  • copilot/fix-delete-function-bug
  • copilot/fix-deprecated-var-usage
  • copilot/fix-export-href-table-cell
  • copilot/fix-failing-tests-php-versions
  • copilot/fix-html-in-blade-files
  • copilot/fix-html-parsing-newline-issue
  • copilot/fix-laravel-blade-parsing
  • copilot/fix-leading-combinator-selectors
  • copilot/fix-link-selector-in-xml-documents
  • copilot/fix-mb-decode-numericentity-issue
  • copilot/fix-plaintext-comments-in-head
  • copilot/fix-replace-content-error
  • copilot/fix-svg-css-issue-html-error
  • copilot/improve-html-parsing-using-modern-dom
  • copilot/integrate-infection-static-analysis
  • copilot/remove-html-dom-placeholders
  • copilot/setup-renovate-automated-dependency-updates
  • copilot/test-netbeans-error
  • dependabot/composer/phpunit/phpunit-approx-6.0or-approx-7.0
  • dependabot/composer/phpunit/phpunit-approx-6.0or-approx-7.0or-approx-8.0
  • refs/pull/146/merge
  • renovate-root-config
  • scrutinizer-patch-1
  • scrutinizer-patch-2

16 Aug 2026 11:54PM UTC coverage: 96.796% (+0.03%) from 96.766%
31980434841

push

github

web-flow
Add agent-loop workflow tooling and explicit PHP 8.4 Html5DomParser (#150)

* Add agent-loop workflow tooling and opt-in PHP 8.4 HTML5 parsing

WHY

Two things at once, on purpose: the governed workflow is the tooling, and the
first task run through it is the PHP 8.4 HTML5 parser. A previous attempt at
the parser (PR #146) bridged "\Dom\HTMLDocument" back into "\DOMDocument"
node by node, lost more performance than it gained, and was reverted.

Tooling

voku/agent-loop needs PHP >= 8.3 while this library still supports PHP >= 7.1,
so it is installed as the isolated Composer tool project tools/agent-loop and
reached through the bin/agent-loop wrapper. The generated client projections
(.claude, .codex, .agents, .github/skills, .github/agents) stay out of Git; the
Claude and Codex hook bundles are host-owned copies under docs/agents, because
the package-owned hooks resolve only the root vendor/autoload.php and otherwise
claim this repository's src/ as the package source root.

Board and workflow state live under .agent-loop: SHD-1 is this change, planned,
approved, validated, reviewed and closed through the workflow; SHD-2 .. SHD-8
are the follow-ups it produced, five of them backed by validated findings about
the workflow itself.

Parser

"HtmlDomParser::useHtml5Parser()" parses with the PHP >= 8.4 HTML5 parser and
bridges the result into the "\DOMDocument" this library hands out. There is no
zero-copy handoff - PHP refuses to pass a node of the new DOM implementation to
the old one - so the bridge serializes to XML and re-parses. "Dom\HTML_NO_DEFAULT_NS"
keeps the tree out of the XHTML namespace, and an "xmlns" attribute from the
input is parked under a placeholder for the transport, so the generated XPath
of this library keeps matching.

The default path is unchanged and costs one boolean check. The HTML5 path falls
back to it - without an error - on PHP < 8.4, with useKeepBrokenHtml(), and for
input the XML transport cannot carry.

Validation

  php ... (continued)

83 of 85 new or added lines in 2 files covered. (97.65%)

2266 of 2341 relevant lines covered (96.8%)

308.16 hits per line

Relevant lines Covered
Build:
Build:
2341 RELEVANT LINES 2266 COVERED LINES
308.16 HITS PER LINE
Source Files on master
  • Tree
  • List 25
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
31980434841 master Add agent-loop workflow tooling and explicit PHP 8.4 Html5DomParser (#150) * Add agent-loop workflow tooling and opt-in PHP 8.4 HTML5 parsing WHY Two things at once, on purpose: the governed workflow is the tooling, and the first task run throu... push 16 Aug 2026 11:54PM UTC web-flow github
96.8
31662366123 master Fix Renovate processing for forked repository * Fix Renovate processing for forked repository * Move Renovate config to supported root location push 13 Aug 2026 02:57AM UTC web-flow github
96.77
27073920178 master Merge pull request #145 from voku/copilot/integrate-infection-static-analysis Add Infection + PHPStan CI check on PHP 8.3 and fix PHP 7.x template serialization push 06 Jun 2026 09:07PM UTC web-flow github
96.77
25163866959 master [+]: added just more tests push 30 Apr 2026 11:53AM UTC moellekenl github
96.79
24713683165 master [*]: update changelog push 21 Apr 2026 09:02AM UTC voku github
96.79
24713207173 master [+]: add more tests push 21 Apr 2026 08:51AM UTC voku github
96.79
24702136431 master [+]: work on phpstan reported issues :) ... before a new release goes live. push 21 Apr 2026 03:16AM UTC voku github
96.03
24699990246 master Fix cross-version coverage test assertions Make the coverage regression test assert the restored script output across PHP versions and use a mutable detached XML element for the attribute branch. Co-authored-by: Copilot <223556219+Copilot@users.... push 21 Apr 2026 01:56AM UTC voku github
96.11
24699745740 master Tighten DOM wrapper type metadata Clean up wrapper helper return metadata, blank-node aliases, and token list normalization so the remaining static-analysis-oriented changes stay separate from the runtime fixes. Co-authored-by: Copilot <22355621... push 21 Apr 2026 01:47AM UTC voku github
93.16
24694908863 master [*]: texts update ... docs + changelog + agents + phpdocs push 20 Apr 2026 11:06PM UTC voku github
91.0
See All Builds (635)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc