phprivoxy / matcher
没有正则表达式的简单URI匹配器。
v0.7.0
2024-06-28 07:36 UTC
Requires
- php: >=8.1
- league/uri: >=7.4
- psr/http-message: ^2.0
README
简单的URI匹配器。
要求
- PHP >= 8.1
安装
使用composer(推荐)
composer create phprivoxy/matcher
模式是否匹配URI
$uri = 'www.site.ru/cat/page.html'; $matcher = new PHPrivoxy\Matcher\UriMatcher($uri); $matcher->match('*'); // TRUE $matcher->match('.'); // TRUE $matcher->match(''); // FALSE $matcher->match('site.ru'); // FALSE $matcher->match('.site.ru'); // TRUE $matcher->match('*.site.ru'); // TRUE $matcher->match('*site*'); // TRUE $matcher->match('.ite.ru'); // FALSE $matcher->match('*ite.ru'); // TRUE $matcher->match('/page.html'); // FALSE $matcher->match('/*page.html'); // TRUE $matcher->match('/ca'); // TRUE $matcher->match('/ca*'); // TRUE $matcher->match('/ca$'); // FALSE $matcher->match('/cat/page.html$'); // TRUE $matcher->match('/cat/page.html'); // TRUE $matcher->match('/cat/page.htm'); // TRUE $matcher->match('/cat/page.htm'); // TRUE $matcher->match('*ite.ru/cat/pag'); // TRUE $matcher->match('*/cat/page.*'); // TRUE
您还可以在"tests"目录下找到任何示例。
URI是否匹配模式
$patterns = [ '.яндекс.рф/search', 'microsoft.com/office', '*.microsoft.com/windows', '.windows.com', 'github.com', '*linux*' ]; $matcher = new PHPrivoxy\Matcher\PatternsMatcher($patterns); $matcher->match('https://www.яндекс.рф/'); // FALSE $matcher->match('https://www.яндекс.рф/search.html'); // TRUE $matcher->match('https://www.linuxmint.com/'); // TRUE $matcher->match('https://www.microsoft.com/other/linux-vs-windows/'); // FALSE $matcher->match('https://www.github.com/windows'); // FALSE $matcher->match('https://github.com/os2'); // TRUE $matcher->match('https://linux.github.com/'); // TRUE $matcher->match('https://www.microsoft.com/office'); // FALSE $matcher->match('https://microsoft.com/office2024'); // TRUE $matcher->match('http://left.site/not-exist.html'); // FALSE
许可证
MIT许可证 看这里 LICENSE