preg replace — PHP: Parse_url с preg_replace для удаления части строки URL реферера

Я пытаюсь извлечь части 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. Как я могу достичь этого результата?

1

Решение

preg_replace лечит / символы как разделитель выражений.

Поскольку ваш поисковый термин не является регулярным выражением, вы можете просто использовать str_replace вместо. Добавить в rtrim удалить косую черту.

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

Обратите внимание, что я также процитировал path параметр, чтобы не вызывать «неизвестная константа» уведомление

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]