обрезать косые черты из Uri запроса
Вот мой фрагмент кода для начала:
$url = $_SERVER["REQUEST_URI"]; // gives /test/test/ from http://example.org/test/test/
echo"$url";
trim ( $url ,'/' );
echo"$url";
Я использую это в сочетании с перезаписью .htaccess, я получу информацию из URL-адреса и сгенерирую страницу для пользователя с помощью PHP с помощью explode
.
Я не хочу, чтобы .htaccess интерпретировал URL-адрес, что, вероятно, лучше, но я больше знаком с PHP и думаю, что он более гибкий.
Я уже читал это (в основном это то, что я хочу): Лучший способ удалить конечные косые черты в URL-адресах с помощью PHP
Единственный проблема в том, что trim
не обрезает начальные косые черты. Почему?
Но на самом деле это должно сработать. Замена '/'
на "/"
, '\47'
или '\x2F'
ничего не меняет.
Он не работает ни в Интернете, ни на локальном хостинге.
Что я делаю не так?
4 answers
Функция trim
возвращает обрезанную строку. Это не изменяет оригинал. Ваша третья строка должна быть:
$url = trim($url, '/');
Это можно сделать в одной строке...
echo trim($_SERVER['REQUEST_URI'], '/');
Вам нужно сделать:
$url = trim($url, '/');
Вы также должны просто сделать
echo $url;
Это быстрее.
trim
не изменяет оригинал. Вам нужно будет сделать что-то, например:
$url = $_SERVER["REQUEST_URI"]; // gives /test/test/ from http://example.org/test/test/
echo"$url";
$url = trim ( $url ,'/' );
echo"$url";