php readability

其他类别 2025-08-19

可读性

这是此全文rss叉中可读性类的摘录。它可以定义为原始PHP可读性的更好版本。

差异

默认的PHP可读性LIB确实很旧,需要改进。我发现了@dither的全文rss的巨大叉子,可以改善可读性类别。

  • 我已经从叉子中提取了班级,以便能够开箱即用
  • 我添加了一些简单的测试
  • 并更改了CS,运行php-cs-fixer并添加了一个名称空间

但是代码仍然很难理解 /阅读...

要求

默认情况下,如果可用,该自由行将使用整齐的扩展名。整理仅用于清理给定的HTML,并避免HTML结构不良等问题。

另外,如果您通过未安装整齐的内容来解析内容有问题,请安装它,然后重试。

用法

 use Readability  Readability ;

$ url = ' http://www.me*d*i*alens.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. :( ' ;
}

如果要调试它,或检查发生了什么,可以注入记录器(必须遵循PsrLogLoggerInterface ,konololog):

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

$ url = ' http://www.me*d*i*alens.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 );
下载源码

通过命令行克隆项目:

git clone https://github.com/j0k3r/php-readability.git