diff --git a/src/Readability.php b/src/Readability.php index 4336bca..3ad909b 100644 --- a/src/Readability.php +++ b/src/Readability.php @@ -395,14 +395,17 @@ public function prepArticle(\DOMNode $articleContent): void $this->clean($articleContent, 'object'); $this->clean($articleContent, 'iframe'); $this->clean($articleContent, 'canvas'); - $this->clean($articleContent, 'h1'); /* - * If there is only one h2, they are probably using it as a main header, so remove it since we + * If there is only one h1 or h2, they are probably using it as a main header, so remove it since we * already have a header. */ + $h1s = $articleContent->getElementsByTagName('h1'); + if (1 === $h1s->length && mb_strlen($this->getInnerText($h1s->item(0), true, true)) < 100) { + $this->clean($articleContent, 'h1'); + } $h2s = $articleContent->getElementsByTagName('h2'); - if (1 === $h2s->length && mb_strlen($this->getInnerText($h2s->item(0), true, true)) < 100) { + if (0 === $h1s->length && 1 === $h2s->length && mb_strlen($this->getInnerText($h2s->item(0), true, true)) < 100) { $this->clean($articleContent, 'h2'); }