【发布时间】:2019-03-07 13:32:35
【问题描述】:
我想知道如何从站点解析路径 例如:
http://example.org/hello/ok/fl.jpg
有没有办法解析这部分(路径)
/hello/ok/
【问题讨论】:
-
您可以使用 URI 模块将 URL 解析为其组成部分。检查它的文档
-
给定 URI 的 path 部分是
/hello/ok/fl.jpg。
我想知道如何从站点解析路径 例如:
http://example.org/hello/ok/fl.jpg
有没有办法解析这部分(路径)
/hello/ok/
【问题讨论】:
/hello/ok/fl.jpg。
这里是Mojolicious。 path 方法返回一个您可以操作的 Mojo::Path 对象:
use Mojo::URL;
my $url = "http://example.org/hello/ok/fl.jpg";
say Mojo::URL->new( $url )->path->to_dir;
这里是URI,它在开头是一样的,但是将路径作为字符串返回。您可以获取分段然后取下最后一个分段。将其替换为空字符串,然后将 joining 替换为 / 会为您提供尾部斜杠:
use URI;
my $url = "http://example.org/hello/ok/fl.jpg";
my @segments = URI->new( $url )->path_segments;
$segments[-1] = '';
say join '/', @segments;
【讨论】: