2013-04-06 2 views
3

Я пытаюсь написать небольшой RESTful Service API в PHP5.4 (для образовательной цели). Поэтому мне нужно проанализировать URL-адрес, с которым вызывается служба.

Способ, которым я хочу это сделать, это разбить пути URL от $_SERVER['PATH_INFO'] и поместить их в массив. Предположим, что информация о пути содержит /contacts/14295/. Каков правильный способ поместить два пути в массив следующим образом?

array(2) { 
[0]=> 
string(8) "contacts" 
[1]=> 
string(5) "14295" 
} 

я нашел по крайней мере два способа расколоть инфо путь строки в массив, но оба пути приводят в массиве с более чем двумя входами.

Первый способ я нашел это функция explode которая возвращает массив с задней пустые строки (означает, что первый и последний элемент массива содержит пустую строку):

explode('/', $_SERVER['PATH_INFO']); 

Тогда я попробовал функцию preg_split, которая возвращает массив, который содержит запись для каждого слэш («/»):

preg_split('//', $_SERVER['PATH_INFO']); 

Оба варианта очень неудобным для меня, чтобы получить пути из URL. Мне было бы интересно, нет ли лучшего способа.

ответ

3

Обрезать «/» с начала и конца массива?

$array = explode('/', trim($_SERVER['PATH_INFO'], '/')); 
+1

Спасибо. Это то, что я искал. – Thomas

Смежные вопросы