PHP 正则表达式:提取 URL 最后一个斜杠前的部分
可以使用 preg_match 函数结合正则表达式来实现:
$url = 'http://www.example.com/path/to/file.html';
preg_match('/^(.*\/)[^\/]*$/', $url, $matches);
echo $matches[1]; // 输出:http://www.example.com/path/to/
解释一下正则表达式:
^:匹配字符串的开头.*:匹配任意字符0次或多次\/:匹配斜杠字符,需要用反斜杠转义():捕获分组,将括号中的内容作为一个匹配结果返回[^\/]*:匹配任意非斜杠字符0次或多次$:匹配字符串的结尾
因此,正则表达式的意思是:匹配开头到最后一个斜杠的前面全部内容,并将开头到最后一个斜杠的内容作为一个分组返回。在上面的例子中,$matches 数组的第一个元素就是匹配结果。
原文地址: https://www.cveoy.top/t/topic/ooVr 著作权归作者所有。请勿转载和采集!