Este es un extracto de la clase de legibilidad de esta bifurcación de texto completo. Se puede definir como una mejor versión de la lectura PHP original.
La LIB PHP-Readability predeterminada es realmente antigua y debe mejorarse. Encontré una gran horquilla de RSS de texto completo de @Do que mejoran la clase de legibilidad.
php-cs-fixer y agregó un espacio de nombresPero el código sigue siendo muy difícil de entender / leer ...
Por defecto, esta lib utilizará la extensión ordenada si está disponible. Ordole solo se usa para limpiar el HTML dado y evitar problemas con la mala estructura HTML, etc. El compositor sugerirá.
Además, si tiene un problema al analizar un contenido sin Ordides instalado, instálelo e intente nuevamente.
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. :( ' ;
} Si desea depurarlo, o verificar lo que está sucediendo, puede inyectar un registrador (que debe seguir PsrLogLoggerInterface , Monolog por ejemplo):
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 );