подрезать косые черты из Request_Uri - PullRequest
10 голосов
/ 27 февраля 2011

вот мой фрагмент кода для начала:

$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 ]

23 голосов
/ 27 февраля 2011

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

$url = trim($url, '/');
3 голосов
/ 30 октября 2012

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

echo trim($_SERVER['REQUEST_URI'], '/');
2 голосов
/ 27 февраля 2011

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

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

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

echo $url;

Это быстрее.

1 голос
/ 27 февраля 2011

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

$url = $_SERVER["REQUEST_URI"]; // gives /test/test/ from http://example.org/test/test/
echo"$url"; 
$url = trim ( $url ,'/' );
echo"$url";
...