thewilkybarkid / text-filter
该包已被废弃且不再维护。未建议替代包。
标准化文本过滤器接口
v1.0.0
2014-04-02 12:56 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- doctrine/cache: ~1.0
- ezyang/htmlpurifier: ~4.0
- michelf/php-markdown: ~1.3
- michelf/php-smartypants: ~1.6@dev
- misd/linkify: ~1.0
- phpspec/phpspec: ~2.0
This package is auto-updated.
Last update: 2022-02-01 12:29:11 UTC
README
此库为文本过滤器提供了一个标准接口(《TheWilkyBarKid\TextFilter\TextFilter》),该接口定义了一个方法,即《filter()`》,它接收一个字符串并返回一个(可能是修改过的)字符串。
本身并不特别有用,但它打开了一些有趣的可能性。
它还提供了一些适配器,允许您通过接口间接使用库。
安装
-
将 TextFilter 添加到依赖项
// composer.json { // ... "require": { // ... "thewilkybarkid/text-filter": "~1.0" } }
-
使用 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));