Dies ist ein Extrakt der Lesbarkeitsklasse aus dieser Gabel von Volltext-RSS. Es kann als eine bessere Version der ursprünglichen PHP-Readabilität definiert werden.
Die Standard-PHP-Readability Lib ist wirklich alt und muss verbessert werden. Ich fand eine großartige Gabelung mit Volltext-RSS von @dither, die die Lesbarkeitsklasse verbessern.
php-cs-fixer aus und fügte einen Namespace hinzuAber der Code ist immer noch sehr schwer zu verstehen / zu lesen ...
Standardmäßig wird diese LIB die ordentliche Erweiterung verwenden, wenn sie verfügbar ist. Tidy wird nur verwendet, um die angegebene HTML aufzuräumen und Probleme mit einer schlechten HTML -Struktur usw. zu vermeiden. Es wird vom Komponisten vorgeschlagen.
Wenn Sie ein Problem beim Parsen eines Inhalts ohne installierte Tidy haben, installieren Sie ihn bitte und versuchen Sie es erneut.
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. :( ' ;
} Wenn Sie es debuggen oder überprüfen möchten, was los ist, können Sie einen Logger injizieren ( PsrLogLoggerInterface , zum Beispiel Monolog, folgen muss):
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 );