Я пытаюсь извлечь части URL в PHP с помощью parse_url
и удалить часть [path]
если это существует.
Например, если мой URL-адрес «HTTP: // локальный / сайт / раздел / тип / имя /«и я хочу удалить /website/
часть от URL [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/
как результат, тогда как я хотел бы просто вернуться section/type/name
как результат, когда «/ website /» присутствует в строке пути URL. Как я могу достичь этого результата?
preg_replace
лечит /
символы как разделитель выражений.
Поскольку ваш поисковый термин не является регулярным выражением, вы можете просто использовать str_replace
вместо. Добавить в rtrim
удалить косую черту.
$parsed = rtrim(str_replace('/website/', '', $parsed['path']), '/');
Обратите внимание, что я также процитировал path
параметр, чтобы не вызывать «неизвестная константа» уведомление
Других решений пока нет …