Это то, что я мог взломать вместе, но я задавался вопросом, было ли у кого-то чистое решение моей проблемы. Что-то, что я бросаю вместе, не обязательно будет очень кратким или быстрым!Обрезать только первое и последнее вхождение символа в строке (PHP)
У меня есть такая строка ///hello/world///
. Мне нужно снять только первый и последний слэш, ни один из остальных, так что я получаю строку, подобную этой //hello/world//
.
PHP trim
не совсем прав: выполнение trim($string, '/')
вернет hello/world
.
Следует отметить, что в начале или конце строки не обязательно будет никаких косых черт. Вот несколько примеров того, что я хотел бы произойти с разными строками:
///hello/world/// > //hello/world//
/hello/world/// > hello/world//
hello/world/ > hello/world
Заранее благодарим за любую помощь!
Почему бы не привести реальный пример вместо такой манекен? Может быть, может быть лучшее решение, только для вашего случая? Реальный случай. –
@col Это почти реальный мир. Это часть класса маршрутизации, который передает текущий путь URL-адреса для перехода к соответствующему контроллеру. Я просто заметил, что 'http: // example.com/path/to/file' разрешается для того же контроллера, что и' http: //example.com /// path/to/file // ', поэтому приведенный выше пример почти точно, что строки, которые я получаю, будут выглядеть так: :) Я обрабатываю пути – Rowan
Но в чем причина наличия таких кратных косых черт? Пути нужны только одному. Я никогда не видел путь, подобный этому: /// path/to/file // '. Где вы их получите, и почему вы не хотите нормализовать, что делает его обычным/path/to/file /? –