Code Monkey home page Code Monkey logo

php-readability's Introduction

Readability

CI Coverage Status Total Downloads License

This is an extract of the Readability class from this full-text-rss fork. It can be defined as a better version of the original php-readability.

Differences

The default php-readability lib is really old and needs to be improved. I found a great fork of full-text-rss from @Dither which improve the Readability class.

  • I've extracted the class from its fork to be able to use it out of the box
  • I've added some simple tests
  • and changed the CS, run php-cs-fixer and added a namespace

But the code is still really hard to understand / read ...

Requirements

By default, this lib will use the Tidy extension if it's available. Tidy is only used to cleanup the given HTML and avoid problems with bad HTML structure, etc .. It'll be suggested by Composer.

Also, if you got problem from parsing a content without Tidy installed, please install it and try again.

Usage

use Readability\Readability;

$url = 'http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/729-thatcher.html';

// you can use whatever you want to retrieve the html content (Guzzle, Buzz, cURL ...)
$html = file_get_contents($url);

$readability = new Readability($html, $url);
// or without Tidy
// $readability = new Readability($html, $url, 'libxml', false);
$result = $readability->init();

if ($result) {
    // display the title of the page
    echo $readability->getTitle()->textContent;
    // display the *readability* content
    echo $readability->getContent()->textContent;
} else {
    echo 'Looks like we couldn\'t find the content. :(';
}

If you want to debug it, or check what's going on, you can inject a logger (which must follow Psr\Log\LoggerInterface, Monolog for example):

use Readability\Readability;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$url = 'http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/729-thatcher.html';
$html = file_get_contents($url);

$logger = new Logger('readability');
$logger->pushHandler(new StreamHandler('path/to/your.log', Logger::DEBUG));

$readability = new Readability($html, $url);
$readability->setLogger($logger);

php-readability's People

Contributors

j0k3r avatar jtojnar avatar kdecherf avatar nicofrand avatar peter279k avatar simounet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

php-readability's Issues

Unable to attach logger for loadHTML

Since 00f622e, constructor runs loadHTML again so we cannot attach logger before that. And loadHTML is private so we cannot re-run it after logger has been attached by setLogger.

(Trying to debug why div img + noscript img is turned into (p img) + noscript img preventing the wordpress noscript removal from triggering for some users but I cannot reproduce it.)

Preserve newlines?

I'm trying to convert articles to readable blobs of text, however I would like for <br> and <p> tags to be converted as newlines, currently the package returns one big inline string of text. Is this possible at the moment?

Readability removes headings when they have a link in them

It looks like Readability removes headlines like this:

<h2 class="header-with-anchor-widget">1. A mental model of the software engineering cycle
    <div id="§a-mental-model-of-the-software-engineering-cycle" class="header-anchor-widget offset-top">
        <div class="header-anchor-widget-button-container">
            <div class="header-anchor-widget-button" href="https://newsletter.pragmaticengineer.com/i/136465585/a-mental-model-of-the-software-engineering-cycle"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="header-anchor-widget-icon"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></div>
        </div>
    </div>
</h2>

This is a valid (as in, we want to preserve it as content) headline, it just contains an extra <div>.
It seems to be removed in

protected function grabArticle(\DOMElement $page = null)
.

Is there a way to control this behaviour? Ideally, Readability would keep the headline but remove the extra div.

Taken from this article, looks like all substack publications use the same markup.

outlined words get censored on psychologytoday.com

From @anarcat on February 1, 2017 17:16

This article about Richard Stallman is really weird to read on parsed content, because all the "dotted underline" words are just removed from the output. I reproduced this on the test site.

The last sentence of the second paragraph should read like:

If you’ve heard of open source (free software’s practice sans its moral stance) or Linux (really GNU, plus a program called Linux), you can thank Stallman.

(Emphasis on the removed word added.)

Instead it is:

If you’ve heard of open source (free software’s practice sans its stance) or Linux (really GNU, plus a program called Linux), you can thank Stallman.

Thanks!

Copied from original issue: fivefilters/ftr-site-config#251

Readability 3.0

Some BC breaking suggestions:

  • Make all classes final.
  • Properties private.
  • Type hints everywhere.
  • Decouple Readability (stateless worker object) from result?
  • PHPStan level max.
  • Drop JSLikeHTMLElement in favour of static functions?

how can i get Excerpt, image and Author?

Hello,
How can i get Excerpt, image and Author?
with fivefilters/php-readability i can get all information like this

          "title" => $readability->getTitle(),
          "content" => $readability->getContent(),
          "excerpt" => $readability->getExcerpt(),
          "lead_image_url" => $readability->getImage(),
          "author" => $readability->getAuthor(),

Problem with article extraction

Hi!

I use wallabag, that uses j0k3r/php-readability 1.2.10.

On some websites, I found out that some Javascript code snippets are "polluting" the text context extracted.

This happens for example on this page: https://lesprosdelapetiteenfance.fr/eveil-activites/ateliers-pedagogiques-et-fiches-activites/maquillage-et-pate-modeler-5-recettes-bio

Some JavaScript inline code seems to generate <div> elements (for example on line 1376),
and PHP Readability ends up extracting some of this JS code:

                   $('.sib_list_row').append('<div class="message_area" style="background-color: #f2dede;border:1px solid #ebccd1; color: #a94442;margin-top: 5px;"><button type="button" class="close">x</button>' + emptyError + '</div>');

The resulting article looks like this:

Inscrivez-vous à la newsletter

'); } }else { var input = theForm.find('input[name="' + required[i] + '"]'); var inputType = input.attr('type'); if (inputType == 'text' || inputType == 'number') { if (input.val() == "" || input.val() == emptyError) { input.closest('.row').addClass("needsfilled"); input.closest('.row').append('
' + emptyError + '

Could you please help regarding this? How can this be fixed?

Keep URLS into documents

Hi,
I have tried my best to adapt the given code in order to keep urls into the document and neither put them into footnotes nor removing them.
Is there anybody that can lead my feet doing that?

Thank you :)

Error: A non well formed numeric value encountered

Hi!

I am trying to run a dev instance of wallabag but I can't import any article, due to an error in Readability (wallabag error: [2019-05-08 19:11:22] app.ERROR: Error while saving an entry {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ContextErrorException(code: 0): Notice: A non well formed numeric value encountered at /home/nicofrand/www/wallabag/vendor/j0k3r/php-readability/src/Readability.php:1118)","entry":"[object] (Wallabag\\CoreBundle\\Entity\\Entry: {})"} [] ).

Example of a link: https://blog.eleven-labs.com/fr/po-vs-pm-like-batman-vs-superman/

The error in Readability:

Symfony\Component\Debug\Exception\ContextErrorException: Notice: A non well formed numeric value encountered in /home/nicofrand/www/wallabag/vendor/j0k3r/php-readability/src/Readability.php on line 1118

Line 1118 https://github.com/j0k3r/php-readability/blob/master/src/Readability.php#L1118 the values are:

$grandParentNode->getAttributeNode('readability')->value = '4,0909090909091'.
$contentScore = 1,3636363636364.

That might come from my config since I have no issue with a prod version of wallabag on my server but I can't find why this happens… Would you have an idea?

Thanks in advance!

Error during cleanup

Related to issue wallabag/wallabag#3730

Test code (or test link for fetching):

<!DOCTYPE html>
<html class='' dir='ltr' lang='en' xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraphprotocol.org/schema/' xmlns='http://www.w3.org/TR/html5'>
<head>
	<title>Buuuuug</title>

</head>

<body>
       <h2 class="aligncenter"></h2>       
       
       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>

       <h2 class="aligncenter">An Inauspicious Start</h2>       
       
       <p>Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. </p>

</body>
</html>

Using graby (and thus php-readability) on this code will give:

       <h2 class="aligncenter">

       Lorem ipsum dolor sit amet, consectetur adipiscing elit.
       An Inauspicious Start</h2>

       <p>Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. </p>

We would expect:

       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>

       <h2 class ="aligncenter">An Inauspicious Start</h2>

       <p>Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. </p>

I tried to find the regex or DOM manipulation causing this, unfortunately to no avail.

Composer printing warning with php-html5lib

It only seems to be problem for php-html5lib tests but the warning is still annoying:

Deprecation Notice: Class HTML5Lib\Tests\TokenizerHarness located in ./vendor/electrolinux/php-html5lib/tests/HTML5Lib/Tests/TokenizerTest.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///nix/store/1x099mxa4wk77505ryyl4d3j81y3v7zr-php-composer-1.10.6/libexec/composer/composer.phar/src/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class HTML5Lib\Tests\PositionTestableTokenizer located in ./vendor/electrolinux/php-html5lib/tests/HTML5Lib/Tests/TokenizerPositionTest.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///nix/store/1x099mxa4wk77505ryyl4d3j81y3v7zr-php-composer-1.10.6/libexec/composer/composer.phar/src/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class HTML5Lib\Tests\TokenizerTestOfPosition located in ./vendor/electrolinux/php-html5lib/tests/HTML5Lib/Tests/TokenizerPositionTest.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///nix/store/1x099mxa4wk77505ryyl4d3j81y3v7zr-php-composer-1.10.6/libexec/composer/composer.phar/src/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class HTML5Lib\Tests\TreeBuilderHarness located in ./vendor/electrolinux/php-html5lib/tests/HTML5Lib/Tests/TreeBuilderTest.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in phar:///nix/store/1x099mxa4wk77505ryyl4d3j81y3v7zr-php-composer-1.10.6/libexec/composer/composer.phar/src/Composer/Autoload/ClassMapGenerator.php:201

Perhaps we should try to find a maintained alternative.

A lot of warnings (with russian language ?)

While running an import in wallabag that fetched missing content.

URL : https://geektimes.ru/post/164419/

[2017-05-16 13:53:26] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;35  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;12  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;53  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;95  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;2  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;95  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;29  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;17  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;53  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;6  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;95  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;41  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;29  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;34  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;27  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;95  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;74  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;46  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;100  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : Entity 'plus' not defined {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML(): &plus;66  {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocumentFragment::appendXML():       ^ {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":60})"} []
[2017-05-16 13:53:27] php.DEBUG: Warning: DOMDocument::loadHTML(): Tag htmlfragment invalid in Entity, line: 1 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\SilencedErrorContext: {\"severity\":2,\"file\":\"/home/tcit/dev/wallabag/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php\",\"line\":75})"} []

problem install (tidy dependencies)

Hi,
I run archlinux on atom d525 with PHP 5.6.15, extra/php-tidy 5.6.15-2 installed and detected in active php version modules, activated in php.ini. Other modules works fine on others composer install, but not tidy...
I want to install wallabag-2.x and it would be great I can install php-readability...
Thx for all

More warnings

Had this one during importing content. Can't get the concerned entry though.

PHP Warning:  Couldn't fetch Readability\JSLikeHTMLElement. Node no longer exists in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 50
PHP Notice:  Undefined property via __get(): childNodes in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 50 in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 116
PHP Notice:  Trying to get property of non-object in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 50
PHP Warning:  DOMNode::appendChild(): Couldn't fetch Readability\JSLikeHTMLElement in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/Readability.php on line 364
PHP Warning:  DOMElement::removeAttribute(): Couldn't fetch Readability\JSLikeHTMLElement in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/Readability.php on line 365
PHP Warning:  Couldn't fetch Readability\JSLikeHTMLElement. Node no longer exists in /var/www/clients/client1/web1/web/vendor/j0k3r/graby/src/Extractor/ContentExtractor.php on line 409
PHP Notice:  Undefined property via __get(): textContent in /var/www/clients/client1/web1/web/vendor/j0k3r/graby/src/Extractor/ContentExtractor.php on line 409 in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 116
PHP Warning:  Couldn't fetch Readability\JSLikeHTMLElement. Node no longer exists in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 50
PHP Notice:  Undefined property via __get(): childNodes in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 50 in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 116
PHP Notice:  Trying to get property of non-object in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 50
PHP Warning:  DOMNode::appendChild(): Couldn't fetch Readability\JSLikeHTMLElement in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/Readability.php on line 364
PHP Warning:  DOMElement::removeAttribute(): Couldn't fetch Readability\JSLikeHTMLElement in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/Readability.php on line 365
PHP Warning:  Couldn't fetch Readability\JSLikeHTMLElement. Node no longer exists in /var/www/clients/client1/web1/web/vendor/j0k3r/graby/src/Extractor/ContentExtractor.php on line 409
PHP Notice:  Undefined property via __get(): textContent in /var/www/clients/client1/web1/web/vendor/j0k3r/graby/src/Extractor/ContentExtractor.php on line 409 in /var/www/clients/client1/web1/web/vendor/j0k3r/php-readability/src/JSLikeHTMLElement.php on line 116

Issue with one URL and his content

Hi, I have many days using this code to extract the content from webs (a lot of them) but today I found one with one problem.
The URL is https://www.searchmetrics.com/glossary/ranking-factor/
Readability extracts the text from the middle and ignores all the text over, It extracts on this text "In the graph, four example correlations and the respective curves are shown."
This specific line gets the largest score, so, I am not sure what can I do ¿Any idea?
Thank you very much.

Can't install with Laravel 9

Problem 1
    - Root composer.json requires j0k3r/php-readability ^2.0 -> satisfiable by j0k3r/php-readability[2.0.0, 2.0.1].
    - j0k3r/php-readability[2.0.0, ..., 2.0.1] require psr/log ^1.0 -> found psr/log[1.0.0, ..., 1.1.4] but the package is fixed to 3.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.

PHP Notice: Trying to get property of non-object

PHP Notice:  Trying to get property of non-object in src/Readability.php on line 768

I don't have much insights. This is when I run the wallabag Redis importer. I'll try to see which html document.

Not able to get the full content

Hi there,
I tried to get full content using the below page URL but I can't able to do it when the article has shorter content.

I have checked the library code and see the MIN_ARTICLE_LENGTH logical condition.
Here - https://github.com/j0k3r/php-readability/blob/master/src/Readability.php#L1311

Page URL:

  1. https://thisis50.com/2021/09/10/uncle-murda-ft-eli-fross-so-what-official-video
  2. https://thisis50.com/2021/09/11/celebrating-the-20-years-of-jay-zs-the-blueprint-album

The code says that shorten content should have a minimum 200 length. Could you help to solve this issue?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.