我正在尝试使用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
串。我怎么能达到这个结果呢?
答案 0 :(得分:3)
preg_replace
将/
个字符视为表达式分隔符。
由于您的搜索字词不是正则表达式,因此您只需使用str_replace
即可。添加rtrim
以删除尾部斜杠。
$parsed = rtrim(str_replace('/website/', '', $parsed['path']), '/');
请注意,我还引用了path
参数,以便不触发“未知常量”通知