PHP:Parse_url w / preg_replace删除引用者URL字符串的一部分

时间:2017-11-09 23:22:31

标签: php preg-replace parse-url

我正在尝试使用parse_url在PHP中提取部分网址,并删除部分[path] ,如果存在。

例如,如果我的网址为“http://localhost/website/section/type/name/”,并且我想从网址/website/中移除[path]部分:

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

如果我回复$parsed我得到//section/type/name/作为结果,而当网址路径中存在“/ website /”时,我想简单地返回section/type/name串。我怎么能达到这个结果呢?

1 个答案:

答案 0 :(得分:3)

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

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

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

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