匹配访问地址的php正则
以下是一个例子,可以匹配访问地址中的路径和参数:
$regex = '/^(?P<path>[^?]*)(?:\?(?P<params>.*))?$/';
解释:
/^和$分别代表字符串的开头和结尾,确保整个字符串都被匹配。(?P<path>[^?]*)匹配不包含问号的任意字符,即路径部分。使用命名捕获组(?P<path>...),方便后续代码使用。(?:\?(?P<params>.*))?匹配问号和参数部分,使用非捕获组(?:...)。?表示该组可选,即访问地址可能没有参数。(?P<params>...)表示捕获参数部分,并命名为params,方便后续代码使用。.*表示匹配任意字符,直到字符串结尾。
使用示例:
$url = 'https://example.com/path/to/resource?foo=bar&baz=qux';
if (preg_match($regex, $url, $matches)) {
$path = $matches['path']; // '/path/to/resource'
$params = isset($matches['params']) ? $matches['params'] : ''; // 'foo=bar&baz=qux'
}
原文地址: https://www.cveoy.top/t/topic/MLX 著作权归作者所有。请勿转载和采集!