pyrsmk/longuevue

此包已被弃用且不再维护。作者建议使用nikic/fast-route包。

简单的内容提取器

0.1.6 2016-05-26 17:42 UTC

This package is auto-updated.

Last update: 2022-02-01 12:32:04 UTC


README

LongueVue 现已不再维护。如果您正在寻找网页爬虫,请使用 Goutte。如果您正在寻找路由器,请查看 FastRoute

LongueVue 是基于 preg_match() 构建的内容提取器。具体来说,您可以从任何地方提取任何字符串内容,例如从某些博客中发现文章以创建 RSS 流等。

安装

获取源代码或使用 Composer 安装

composer require pyrsmk/longuevue

匹配和提取

模式是一个带有 {var} 变量的链。如果链匹配,则提取值

$longuevue=new LongueVue('/articles/{id}/comments');
// Will return false
$longuevue->match('/articles');
// Will return false too
$longuevue->match('/articles//comments');
// Will return array('id'=>'72')
$longuevue->match('/articles/72/comments');
// Will return array()
$longuevue->match('/articles//comments');

验证器

您可以为特定值向引擎添加验证器。如果该值不匹配正则表达式验证器,则整个链将完全不匹配。

$longuevue=new LongueVue('/articles/{id}/comments');
$longuevue->addValidator('id','\d+');
// Match
$longuevue->match('/articles/72/comments');
// Won't match
$longuevue->match('/articles/some_article/comments');

默认值

此外,如果链可能缺少某些值,您还可以声明默认值

$longuevue=new LongueVue('/articles/{id}/comments');
$longuevue->addDefaultValue('id','1');
// Will return array('id'=>'72')
$longuevue->match('/articles/72/comments');
// Will return array('id'=>'1')
$longuevue->match('/articles//comments');

许可

LongueVue 在 MIT 许可证 下发布。