【发布时间】:2021-05-14 02:52:38
【问题描述】:
我在抓取查询参数之前的 URL 的最后一部分时遇到问题。
我正在使用的当前解决方案是这样的:
$base_url = current_url();
$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);
$language = $uri_segments[1];
$end_url = array_pop($uri_segments);
然后我通过 Switch 语句传递 $end_url 以根据值修改表单字段。
有没有我遗漏的东西,或者有没有更有效的方法来获取 URL 的最后一部分?
任何建议都会有所帮助并非常感谢。
谢谢!
【问题讨论】:
-
您正在使用
/作为分隔符进行爆炸。因此查询参数将包含在最后一个元素中,因为那里没有/分隔符。 -
您可以使用
explode('?', $end_url),然后使用它的第一个元素。 -
请参阅php.net/manual/en/reserved.variables.server.php#120979,也许您应该使用其他
$_SERVER变量之一,例如PHP_SELF或SCRIPT_NAME。它们不包括查询参数。 -
basename($uri_path)- 3v4l.org/pZT83