1

我正在尝试使用 PHP 提取 URLparse_url的一部分并删除它的一部分([path] 如果存在)。

例如,如果我的 URL 是“ http://localhost/website/section/type/name/ ”并且我想/website/从 url 中删除该部分[path]

$url = wp_get_referer(); // using WordPress to get referring URL
$parsed = parse_url($url);
$parsed = preg_replace('/website/', '', $parsed[path]);

如果我回显,$parsed我会得到结果,而当 URL 路径字符串中存在“/website/”时//section/type/name/,我想简单地返回结果。section/type/name我怎样才能达到这个结果?

4

1 回答 1

3

preg_replace/字符视为表达式分隔符。

由于您的搜索词不是正则表达式,因此您可以简单地使用str_replace。添加rtrim以删除尾部斜杠。

$parsed = rtrim(str_replace('/website/', '', $parsed['path']), '/');

请注意,我还引用了path参数,以免触发“未知常量”通知

于 2017-11-09T23:25:05.263 回答