Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Анализ строки, переданной браузером
 
 автор: wsnet   (21.10.2009 в 00:07)   письмо автору
 
 

Ребята задача такая, надо получать текущий пункт меню в который зашел юзверь, с помощью анализа строки в браузере.

Допустим, если в строке браузера
http://site.ru/about/index.php -> текущий пункт меню about
http://site.ru/about/history/index.php -> текущий пункт меню about подпункт history
написал такой код, но по-моему он сложноват:

 $str = $_SERVER['REQUEST_URI'];
 $end = strrpos(strtolower($str),'/');
 $temp = substr($str,1,$end -1);
$start =  strrpos(strtolower($temp),'/');
$result = substr($temp,$start+1);    //возвращаем подпункт меню
//-------------
//и так далее возвращаем пункт меню
//---------

  Ответить  
 
 автор: Саня   (21.10.2009 в 09:19)   письмо автору
 
   для: wsnet   (21.10.2009 в 00:07)
 

Вам поможет parse_url() и explode().

  Ответить  
 
 автор: Temnovit   (21.10.2009 в 14:38)   письмо автору
 
   для: wsnet   (21.10.2009 в 00:07)
 

Можно так например:

<?
// получаем адресную строку
$url $_SERVER['REQUEST_URI'];    //  /about/history/index.php

//Разбиваем ее на части
$element_array explode('/'$url); // array('', 'about', 'history', 'index.php');

//Убираем первый (пустой) элемент
array_shift($element_array); // array('about', 'history', 'index.php');

//Убираем последний элемент (index.php)
array_pop($element_array); // array('about', 'history');

//теперь в $element_array первый элемент — пункт меню, второй — подпункт
print_r($element_array);
?>

Нужно обработать разные возможные случаи и можно пользоваться.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования