обрезать косые черты из 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' ничего не меняет. Он не работает ни в Интернете, ни на локальном хостинге. Что я делаю не так?

Author: Community, 2011-02-27

4 answers

Функция trim возвращает обрезанную строку. Это не изменяет оригинал. Ваша третья строка должна быть:

$url = trim($url, '/');
 20
Author: Tesserex, 2011-02-27 19:05:29

Это можно сделать в одной строке...

echo trim($_SERVER['REQUEST_URI'], '/');
 3
Author: Ace, 2012-10-30 15:52:00

Вам нужно сделать:

$url = trim($url, '/');

Вы также должны просто сделать

echo $url;

Это быстрее.

 2
Author: Alec Gorge, 2011-02-27 19:05:49

trim не изменяет оригинал. Вам нужно будет сделать что-то, например:

$url = $_SERVER["REQUEST_URI"]; // gives /test/test/ from http://example.org/test/test/
echo"$url"; 
$url = trim ( $url ,'/' );
echo"$url";
 1
Author: erisco, 2011-02-27 19:05:42