duitni / filter
过滤正则表达式和模式搜索
dev-master / 1.0.x-dev
2018-07-13 13:48 UTC
Requires
- php: >=7.0.0
This package is not auto-updated.
Last update: 2024-09-23 07:33:36 UTC
README
注意 本软件仍在 开发中!
Filter 是一个 PHP 库,用于在字符串、文件、目录和 URL 中查找类似模式或正则表达式的字符串。
安装
通过 Composer
$ composer require duitni/filter dev-master
手动安装
require 'Filter.class.php'; use \Duitni\Filter\Search as Search;
或通过远程导入
eval(base64_decode('Ci8qKgogKiBSYXcgdXJsIGltcG9ydC4KICogQGF1dGhvciBOaWNvIER1aXRzbWFubgogKi8KCmZ1bmN0aW9uIHJhd19pbmNsdWRlKHN0cmluZyAkcmF3VXJsKSB7CiAgICAkdGVtcERpciAgPSBzeXNfZ2V0X3RlbXBfZGlyKCkuIi8ucmF3X2luY2x1ZGUiOwogICAgQG1rZGlyKCR0ZW1wRGlyKTsKICAgICRmaWxlTmFtZSA9ICIkdGVtcERpci8iLnVuaXFpZCgicmF3X2luY2x1ZGUiLCB0cnVlKS4iLnBocCI7CiAgICAkY29udGVudCAgPSBmaWxlX2dldF9jb250ZW50cygkcmF3VXJsKTsKICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlTmFtZSwgJGNvbnRlbnQpOwogICAgcmV0dXJuIGluY2x1ZGUgJGZpbGVOYW1lOwp9CgpmdW5jdGlvbiByYXdfaW5jbHVkZV9jbGVhbl9jYWNoZSgpIHsKICAgICRmaWxlcyA9IGdsb2Ioc3lzX2dldF90ZW1wX2RpcigpLiIvLnJhd19pbmNsdWRlLyoiKTsKICAgIGZvcmVhY2goJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgaWYoaXNfZmlsZSgkZmlsZSkpCiAgICAgICAgICAgIHVubGluaygkZmlsZSk7CiAgICB9Cn0K')); raw_include('https://raw.githubusercontent.com/nico-duitsmann/Filter/master/src/Filter.class.php'); raw_include_clean_cache(); # at file end clearing cache
原始源代码在此处可找到
https://gist.github.com/nico-duitsmann/f8f301b28389518ff10a5266f12b53cb
用法
$options = array( 'trimResult' => true ); $search = new Search($options, 'MyPattern', 'Subject1', 'Subject2', 'Subject3'); $matches = $search->getMatches(); $stats = $search->getStats(); foreach ($matches as $match) { echo 'Found '.$match['pattern'].' on position '.$match['position'].' in '.$match['subject'].'<br>'; } echo 'Scan finished in : '.$stats[0]['time'];
可用选项
/* * patternIsRegex > Search with regex instead of pattern * trimResult > Trim the outputted result * maxLineLen > Define max line length * colored > Colored output * hColor > Define highlight color */ // build options array $options = array( 'patternIsRegex' => false, 'trimResult' => true, 'maxLineLen' => 50 , 'colored' => true, 'hColor' => 'red', );
注意:更多示例可以在 examples 中找到。
作者
许可
GNU 通用公共许可证 v3。有关更多信息,请参阅许可文件。
免责声明
作者不对您选择如何使用提供的任何工具/源代码/文件承担责任或责任。作者及其任何关联方不对使用 Filter 提供的任何文件产生的任何损失和/或损害承担责任。通过使用 Filter 或包含的任何文件,您理解您同意此条款。