按PHP拆分URL

2022-03-22 00:00:00 php preg-replace preg-match

您好,我是PHP新手,对于我的家庭项目,我需要有关在URL中拆分值的帮助。

$url = "http://localhost/Sub/Key/Key_XYZ_1234.php";

url还可以是:

$url = "http://localhost/Sub/Key/Key-XYZ-1234.php";

键值可以是"abc-tt"或"abc_tt",也可以只是"abc"

预期结果 $v1 = value of Key; $v2 = value of XYZ; $v3 = value of 1234;

提前感谢


解决方案

您可以结合使用parse_urlbasenamepreg_split来完成此操作。我们使用preg_split,因此可以处理分隔符是-_

$url = "http://localhost/Sub/Key/Key-XYZ-1234.php";
$path = parse_url($url, PHP_URL_PATH);
$file = basename($path, '.php');
list($v1, $v2, $v3) = preg_split('/[-_]/', $file);
echo "$v1 = $v1
$v2 = $v2
$v3 = $v3
";

输出:

$v1 = Key 
$v2 = XYZ 
$v3 = 1234

Demo on 3v4l.org

相关文章