gpt4 book ai didi

php - 解析字符串 - 使用正则表达式或类似的东西?

转载 作者:行者123 更新时间:2023-12-02 07:43:38 25 4
gpt4 key购买 nike

我正在编写路由类,需要帮助。我需要解析 $controller 变量并将该字符串的一部分分配给另一个变量。以下是 $controller 的示例:

$controller = "admin/package/AdminClass::display"
//$path = "admin/package";
//$class = "AdminClass";
//$method = "display";

$controller = "AdminClass::display";
//$path = "";
//$class = "AdminClass";
//$method = "display";

$controller = "display"
//$path = "";
//$class = "";
//$method = "display";

我只需要这三种情况。是的,我可以编写很长的过程来处理这种情况,但我需要的是使用正则表达式和函数 preg_match_all 的简单解决方案

有什么建议吗?

最佳答案

下面的正则表达式应该为您完成这个,然后您可以将捕获的组保存到 $path$class$method .

(?:(.+)/)?(?:(.+)::)?(.+)

这是一个 Rubular: http://www.rubular.com/r/1vPIhwPUub

您的 PHP 代码可能如下所示:

$regex = '/(?:(.+)\/)?(?:(.+)::)?(.+)/';
preg_match($regex, $controller, $matches);
$path = $matches[1];
$class = $matches[2];
$method = $matches[3];

关于php - 解析字符串 - 使用正则表达式或类似的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8609355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com