thewilkybarkid/text-filter

该包已被废弃且不再维护。未建议替代包。

标准化文本过滤器接口

v1.0.0 2014-04-02 12:56 UTC

This package is auto-updated.

Last update: 2022-02-01 12:29:11 UTC


README

Build Status

此库为文本过滤器提供了一个标准接口(《TheWilkyBarKid\TextFilter\TextFilter》),该接口定义了一个方法,即《filter()`》,它接收一个字符串并返回一个(可能是修改过的)字符串。

本身并不特别有用,但它打开了一些有趣的可能性。

它还提供了一些适配器,允许您通过接口间接使用库。

安装

  1. 将 TextFilter 添加到依赖项

    // composer.json
    
    {
       // ...
       "require": {
           // ...
           "thewilkybarkid/text-filter": "~1.0"
       }
    }
    
  2. 使用 Composer 下载并安装 TextFilter

    $ php composer.phar update thewilkybarkid/text-filter
    

链式过滤器

《TheWilkyBarKid\TextFilter\TextFilterChain》类可以接受任意数量的文本过滤器,并按顺序运行(由用户控制顺序)。

这允许您构建一个可能很长的过滤器链,简化了实际使用时的逻辑。

$filter = new TextFilterChain(array($markdownFilter, $smartyPantsFilter, $htmlPurifierFilter));

// later on
$output = $filter->filter('some markdown');

缓存过滤器

通常,您应该将过滤器的结果与原始输入持久化存储,以避免在运行时运行可能昂贵的过滤器。由于这并不总是可能的,因此《TheWilkyBarKid\TextFilter\DoctrineCacheTextFilterWrapper》类封装了一个文本过滤器,并将结果缓存到一个 Doctrine 缓存驱动器(基于文件、Memcache、Redis 等)中。

$chain = new TextFilterChain(array($markdownFilter, $smartyPantsFilter, $htmlPurifierFilter));
$filter = new DoctrineCacheTextFilterWrapper($cache, $chain));