Skip to content

Uncaught TypeError: fivefilters\\Readability\\Readability::_cleanStyles(): Argument #1 ($node) must be of type .... , fivefilters\\Readability\\Nodes\\DOM\\DOMProcessingInstruction given #38

@mikiescolarmrf

Description

@mikiescolarmrf

It's very similar to this issue, but occurs in a different context.

Following minimal test code shows the behavior. The first page succeeds, the second on fails with the Type Error:

<?php

require __DIR__ . '/vendor/autoload.php';
use fivefilters\Readability\Readability;
use fivefilters\Readability\Configuration;

$readability = new Readability(new Configuration());

$content = file_get_contents('https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages');
$success = $readability->parse($content);

if ($success) {
    print("The mozilla.org page is fine!" . PHP_EOL);
}

$content = file_get_contents('https://www.adn40.mx/es-tendencia/2025-02-20/fin-a-las-cucarachas-la-fruta-comun-que-las-saca-de-la-cocina');
$success = $readability->parse($content);

if ($success) {
    print("The www.adn40.mx page is fine!");
}

exit($success ? 0 : 1);

Output:

/opt/homebrew/bin/php bug.php
The mozilla.org page is fine!
PHP Fatal error:  Uncaught TypeError: fivefilters\Readability\Readability::_cleanStyles(): Argument #1 ($node) must be of type fivefilters\Readability\Nodes\DOM\DOMDocument|fivefilters\Readability\Nodes\DOM\DOMNode|fivefilters\Readability\Nodes\DOM\DOMElement|fivefilters\Readability\Nodes\DOM\DOMText, fivefilters\Readability\Nodes\DOM\DOMProcessingInstruction given, called in /Users/mescolar/readability-bug/vendor/fivefilters/readability.php/src/Readability.php on line 1781 and defined in /Users/mescolar/readability-bug/vendor/fivefilters/readability.php/src/Readability.php:1758
Stack trace:
#0 /Users/mescolar/readability-bug/vendor/fivefilters/readability.php/src/Readability.php(1781): fivefilters\Readability\Readability->_cleanStyles(Object(fivefilters\Readability\Nodes\DOM\DOMProcessingInstruction))
#1 /Users/mescolar/readability-bug/vendor/fivefilters/readability.php/src/Readability.php(1781): fivefilters\Readability\Readability->_cleanStyles(Object(fivefilters\Readability\Nodes\DOM\DOMElement))
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions